(Vi) TMainForms (Bild) Aktionsereignis
1) Vollbildungsaufnahme
[Desktop erfassen] Aktionsereignis
Procedure tmainForm.cptDesKtopexeCute (Absender: tobject);
Beginnen
Inc (Capturenum, 1);
application.Minimize;
Verzögerung (500);
Dateiname: = 'capture'+inttoStr (capturenum)+'. Bmp';
Dateiname: = defaultDirectory+Dateiname;
CreatemDichild (Dateiname, True);
StatusBar.Simpletext: = Dateiname;
mit ActivemDichild als tmdichild beginnt
Image1.Picture.bitmap: = CapturesCreen;
HorzScrollBar.Range: = Image1.Picture.width;
VertScrollBar.Range: = Image1.Picture.Height;
Ende;
Child.image1.Hint: = 'Höhe:'+inttoStr (child.image1.picture.height)+'Pixel' '
+'Width:'+inttostr (child.image1.picture.width)+'pixel';
Anwendung.Restore;
Ende;
2) Flächenaufnahme
Um Bereichsbilder zu erfassen, ist ein neues Form1 zu verwenden, siehe "Delphi Image Intercept -Programmierbeispiel (6)".
Fügen Sie Capture1 in die Verwendung der Haupteinheiten -Implementierung hinzu.
Fügen Sie einen privaten Prozess in Haupteinheit CaptureArea hinzu:
Verfahren tmainForm.CaptureArea;
Beginnen
mit tform1.create (Anwendung) do
versuchen
Wenn showmodal = mrok dann
mit FRECT beginnen
if (rechts> links) und (unten> oben) beginnen
Verzögerung (400);
Abitmap: = tbitmap.create;
Abitmap.Sign (CapturesCreenrect (FRECT));
Child.image1.picture.bitmap: = abitmap;
Child.Clientwidth: = Child.image1.Picture.width;
Child.ClientHeight: = Child.image1.Picture.Height;
Child.HorzScrollBar.Range: = child.image1.picture.width;
Child.vertScrollBar.Range: = Child.image1.Picture.Height;
Abitmap.Free;
Ende sonst beginnen
Messagedlg ('Fälschlicherweise den Bildbereich, bitte erneut ausgewählt!', Mtinformation, [Mbok], 0);
Kind.CLOSE;
Form1.Free;
Ausfahrt;
Ende;
Ende;
Endlich
Frei;
Ende;
Ende;
[Capture Area] Aktionsereignis für die Erfassung von Gebiete
procedure tmainForm.cptareaExecute (Absender: tobject);
Beginnen
Inc (Capturenum, 1);
Application.minimize;
Verzögerung (500);
Dateiname: = 'capture'+inttoStr (capturenum)+'. Bmp';
Dateiname: = defaultDirectory+Dateiname;
{MDI Child Fenster erstellen}
CreatemDichild (Dateiname, True);
StatusBar.Simpletext: = Dateiname;
{Erfassungsbereich des Bildschirms}
Capturearea;
Child.image1.Hint: = 'Höhe:'+inttoStr (child.image1.picture.height)+'Pixel' '
+'Width:'+inttostr (child.image1.picture.width)+'pixel';
Anwendung.Restore;
Ende;