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