Einzelnen Beitrag anzeigen

WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#11

Re: Drucken der Programm Oberfläche

  Alt 7. Aug 2008, 12:02
Hallo foofighter85,

ich hatte das ganze bei mir so umgesetzt:

Delphi-Quellcode:
procedure TMainForm.Screenshotdrucken1Click(Sender: TObject);
var form:TBitmap;
    MyFormat : Word;
    AData : THandle;
    APalette : HPALETTE;
begin
try
try
mainform.PrintScale:=(poPrintToFit);
form:=Mainform.GetFormImage;
printer.Orientation:=poLandscape;
if PrintersetupDialog1.Execute then //mainform.print;
Begin
  try
    printer.BeginDoc;
    printer.canvas.stretchdraw(rect(0,0,printer.pagewidth,printer.pageheight),form);
  finally
    printer.EndDoc;
  end;
end
else //Nutzer bricht Druck-Dialog ab -> Bild verbleibt in Zwischnablage
Begin
  form.SaveToClipBoardFormat(MyFormat,AData,APalette);
  ClipBoard.SetAsHandle(MyFormat,AData);
end;
finally
  form.Free
end;
except
Fehler_Durchgefuehrung; //Fehlermeldung ausgeben
end;
end;
Wenn der Nutzer hier den Druckdialog abbricht, bleibt die Form als Bild in der Zwischenablage....so könnte man diese in anderen Programmen nutzen...
Vielleicht nützt es Dir ja was....

MFG
Steffen
  Mit Zitat antworten Zitat