Hi zusammen,
ich hab mal eine kleine Prozedur geschrieben mit der die Aufgabe generell gelöst werden kann, also nicht nur für ein Panel, sondern für jede von TWinControl abgeleitete Klasse.
Der Trick ist die Verwendung der Methode PaintTo(...).
Delphi-Quellcode:
procedure CreateScreenShot(AWinControl: TWinControl; AFileName: String);
var
B: TBitmap;
begin
B := TBitmap.Create;
with AWinControl do
begin
B.Width := Width;
B.Height := Height;
PaintTo(B.Canvas, 0, 0);
end;
B.SaveToFile(AFileName);
B.Free;
end;
Viele Grüße,
Stephan