Ver Mensaje Individual
  #4  
Antiguo 15-12-2009
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Reputación: 18
Nasca Va por buen camino
Revisa el procedimiento GetFormImage. Devuelve un TBitmap con la ventan mostrada. Eso sí, no devuelve la barra de herramientas, menú, ni bordes de ventana.

Yo lo uso para imprimir un pantallazo del formulario directamente en Fast-Report, lo que permite convertirlo directamente a pdf y otras lindezas de Fast-Report. Por si a alguien le interesa este es el código utilizado:

Código Delphi [-]
procedure Tfdmdatos.frxRPantallaBeforePrint(Sender: TfrxReportComponent);
begin
if Sender.Name = 'mFormulario' then
  begin
    TfrxMemoView(Sender).Text := FormAImprimir.Caption;
  end;
if Sender.Name = 'pFormulario' then
  begin
    TfrxPictureView(Sender).Picture.Assign(FormAImprimir.GetFormImage);
  end;
end;

Creo recordar que traté de utilizar el método de Trucomanía y no daba la suficiente calidad.
El sistema de usar el portapapeles no termina de gustarme del todo por eso de tocar el sistema (portapapeles) un poco a espaldas del usuario, pero la verdad es que es una buena opción.

Otra opción sería utilizar ASGCapture de Apprehend. Es una pequeña y potente maravilla para realizar capturas de pantalla de casi cualquier cosa.

Suerte.
Responder Con Cita