Also ich bin gerade mal am Probieren. Es funktioniert echt gut, nur habe ich noch Probleme mit dem Rand vom PageControl, den sieht man leider und ich bekomme den irgendwie nicht weg.
Das ist der Code, den ich verwendet habe...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
SrcRect, DestRect: TRect;
begin
Image2.Picture := nil;
SrcRect.Left := PageControl1.Left;
SrcRect.Top := PageControl1.Top;
SrcRect.Right := PageControl1.Left+PageControl1.Width;
SrcRect.Bottom := PageControl1.Top+PageControl1.Height;
DestRect := Rect(0, 0, PageControl1.Width, PageControl1.Height);
Image2.Canvas.CopyRect(DestRect, Image1.Canvas, SrcRect);
PageControl1.ActivePage := TabSheet1;
TabSheet1.Refresh;
end;
Image1 ist alClient auf dem Formular, Image2 alClient auf dem entsprechenden TabSheet. Die Position vom TabSheet wird berücksichtigt (Rand muss noch einberechnet werden, wenn man den nicht wegbekommt).
Ich habe tsFlatButtons gewählt.
Gruss
Microschlumpf