(Vi) événement d'action de Tmainform (photo)
1) Capture en plein écran
[Capture Desktop] Événement d'action
Procédure tmainform.cptDeskTopeXecute (expéditeur: tobject);
Commencer
Inc (capturénum, 1);
application.minIMize;
Retard (500);
FileName: = 'Capture' + intToStr (CaptureNum) + '. BMP';
FileName: = DefaultDirectory + FileName;
CreateMdichild (nom de fichier, true);
Statusbar.simpletext: = nom de fichier;
avec activemdichild comme tmdichild commence
Image1.picture.bitmap: = CaptureScreen;
Horzscrollbar.range: = image1.picture.width;
Vertscrollbar.range: = image1.picture.height;
fin;
Child.image1.hint: = 'hauteur:' + inttoStr (child.image1.picture.height) + 'pixels'
+ 'Largeur:' + intToStr (child.image1.picture.width) + 'pixels';
application.Restore;
fin;
2) Capture de la zone
Pour capturer les images de la zone, une nouvelle forme1 est à utiliser, voir "Delphi Image Intercept Programming Exemple (6)".
Ajoutez CAPTURE1 dans les utilisations de l'implémentation de l'unité principale.
Ajouter un processus privé dans la capturearia d'unité principale:
procédure tmainform.CaptureArea;
Commencer
avec tform1.create (application) faire
essayer
Si showmodal = MROK alors
avec Frect commence
si (droite> gauche) et (en bas> en haut) alors commencez
Retard (400);
Abitmap: = tbitmap.create;
Abitmap.assign (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;
fin d'autre commence
Messagedlg («Sélectionnez la zone d'image de manière incorrecte, veuillez reélectionner!», MTinformation, [MBOK], 0);
Child.close;
Form1.free;
sortie;
fin;
fin;
Enfin
Gratuit;
fin;
fin;
[Zone de capture] Événement d'action pour la capture de la zone
procédure tmainform.cptareaExecute (expéditeur: tobject);
Commencer
Inc (capturénum, 1);
Application.minimize;
Retard (500);
FileName: = 'Capture' + intToStr (CaptureNum) + '. BMP';
FileName: = DefaultDirectory + FileName;
{Créer une fenêtre d'enfant MDI}
CreateMdichild (nom de fichier, true);
Statusbar.simpletext: = nom de fichier;
{Zone de capture de l'écran}
CaptureArea;
Child.image1.hint: = 'hauteur:' + inttoStr (child.image1.picture.height) + 'pixels'
+ 'Largeur:' + intToStr (child.image1.picture.width) + 'pixels';
application.Restore;
fin;