Zitat von
Code:
Eigentlich brauche ich von dem Fenster nur einen screenshott und das dann gespiegelt darstellen.
Hi,
so in etwa könnte man ein Formular spiegeln:
Delphi-Quellcode:
procedure Spiegeln(MyForm: TCustomForm);
var
Bmp: TBitmap;
c: TCanvas;
begin
Windows.SetForegroundWindow(MyForm.Handle);
c:= TCanvas.Create;
c.Handle:= GetWindowDC(MyForm.Handle);
Bmp:= TBitmap.Create;
try
Bmp.Width:= MyForm.BoundsRect.Right - MyForm.BoundsRect.Left;
Bmp.Height:= MyForm.BoundsRect.Bottom- MyForm.BoundsRect.Top;
StretchBlt(Bmp.canvas.handle, 0, 0, Bmp.Width,Bmp.Height, c.handle, Bmp.Width, 0, -Bmp.Width, Bmp.Height, SRCCOPY);
finally
Bmp.SaveToFile('C:\test.bmp');
Bmp.Free;
ReleaseDC(MyForm.Handle, c.handle);
c.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Spiegeln(self);
end;
EDIT:
CopyRect() rausgenommen da überflüssig