Ich dachte, du willst ein Image von einem Panel machen, an die Objekte darauf hatte ich gar nicht gedacht.
Evtl. genügt es dir ein "Foto" vom Panel zu machen?! Unter Windows7 geht es z.B. so:
Code: Alles auswählen
uses ..., LCLIntf;
...
procedure TForm1.Button1Click(Sender: TObject);
var
aImage: TImage;
begin
aImage := TImage.Create(nil);
try
aImage.Picture.Bitmap.LoadFromDevice(GetDC(pnAbfrage.Handle));
aImage.Picture.SaveToFile('01_Grafik.png');
finally
aImage.Free;
end;
end;
[Edit]
Vbxler hat geschrieben:lediglich werden die TStringGrid, die sich ebenfalls auf
dem Panel befinden, auf dem exportierten nur als Rahmen
angezeigt, nicht aber der Inhalt der Zellen.
...
Woran könnte das liegen??
Das könnte ein Bug (bzw. noch nicht implementiertes Feature) sein. Sehr schön an folgendem Bsp. zu sehen:
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
begin
FOffset := 0;
Timer1.Enabled := True;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
StringGrid1.PaintTo(Canvas, FOffset, FOffset div 5);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Inc(FOffset);
if FOffset > 50 then FOffset := 0;
Repaint;
end;