Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
Delphi 12 Athens
|
10. Feb 2003, 09:46
Es gibt bestimmt bessere Methoden, aber das war jetzt meine erste Idee.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Bmp: TBitmap;
Can: TCanvas;
Source, Dest: TRect;
begin
Self.BringToFront;
Application.ProcessMessages;
Can := TCanvas.Create;
Bmp := TBitmap.Create;
try
// screen handle
Can.Handle := GetDC(0);
try
// größe
Bmp.Width := Self.Width;
Bmp.Height := Self.Height;
// ausschnitt festlegen
Source := Rect(Self.Left, Self.Top, Self.Left + Pred(Self.Width), Self.Top +
Pred(Self.Height));
Dest := Rect(0, 0, Pred(Self.Width), Pred(Self.Height));
// kopieren
Bmp.Canvas.CopyRect(Dest, Can, Source);
// speichern
Bmp.SaveToFile(' C:\Temp\Form.bmp');
finally
ReleaseDC(0, Can.Handle);
end;
finally
Bmp.Free;
Can.Free;
end;
end;
... ...
Daniel Lizbeth Ich bin nicht zurück, ich tue nur so
|
|
Zitat
|