Notez que cet exemple a été débogué dans Delphi7.0
////////////////////////////////////////////////////////////////////////// / //////////////////////////
(I) établir un projet
Nouveaux articles -> Projets -> Application MDI
(2) Repenser la sous-forme MDI - Childwin pour réaliser que l'image capturée est affichée dans Childwin.
Supprimez le contrôle d'origine Memo1 sous la forme Childwin Child et ajoutez le contrôle d'image, image1.align = alclient.
Image1.AutoSize = Ture signifie que la taille d'origine s'affiche, et Strech = False signifie qu'il n'est pas affiché en fonction de la zone d'objet.
(Iii) Modification de l'interface principale
1) Supprimer les éléments liés à la pâte et à la nouvelle dans le menu, la barre d'outils, la liste d'action
2) Ajouter des imprimantes enUpDialog1 et un contrôle de SaveDialog à Mainform.
Ajouter un élément de menu Fichier / Impression, le nom d'attribut est FilePrintem;
Ajoutez des paramètres de fichier / imprimé élément de menu, propriété activé = false, le nom est filefrintSet;
Ajouter un élément de menu Modifier / Draw, sa propriété activée = false;
Ajoutez l'élément de menu Modifier / Préférences et définissez-le pour créer un sous-menu;
Ajouter des éléments de menu Modifier / Préférences / Configuration;
Ajouter un élément de menu Modifier / Préférences / barre d'outils, c'est vérifié = true, name = toolsbaritem;
Ajouter une image de menu;
Ajouter un élément de menu Image / Capture Desktop;
Ajouter un élément de menu Image / zone de capture;
Ajouter des éléments de menu Image / Capture Windows ou Controls;
Ajouter un élément de menu Icône Image / Capture
Ajoutez quatre boutons de barre d'outils dans la barre d'outils, correspondant aux quatre éléments du menu dans le menu de l'image.
Ajoutez quatre actions à ActionList: CPTDestop, Cptarea, CptWindows, Cpticon;
Les attributs d'action des quatre éléments de menu sous le menu d'image correspondent respectivement aux quatre actions ci-dessus;
Les attributs d'action des quatre boutons de barre d'outils nouvellement ajoutés correspondent respectivement aux quatre actions ci-dessus.
3) Déplacer l'implémentation utilise Childwin dans les utilisations de l'interface dans l'unité principale.
Ajouter SCRNCPT aux utilisations de l'interface;
Ajouter une définition dans le public de TMainform:
Enfant: tmdichild;
Capturénum: entier;
Nom de fichier: chaîne;
DefaultDirectory: String;
4) Ajouter une fonction privée dans TMainForm: Procédure Retard (MSECS: entier)
procédure tmainform.delay (msecs: entier);
var FirstTickCount: Longint;
Commencer
FirstTickCount: = GetTickCount;
répéter
Commencer
Application.processMessages;
fin;
jusqu'à ((getTtickCount-FirstTickCount)> = longInt (MSECS));
fin;
5) Modifier le processus [tmainform.createmdichild]:
Supprimer la variable var enfant: tmdichild, ajouter le paramètre newfile
Procédure tmainform.CreateMDichild (nom de const: chaîne; newfile: booléen);
Commencer
Enfant: = tmdichild.create (application);
Child.caption: = name;
si (pas newfile) et (nom <> '') alors commencez
Child.image1.picture.bitmap.loadFromFile (nom);
Child.horzscrollbar.range: = child.image1.picture.width;
Child.vertscrollbar.range: = child.image1.picture.height;
fin;
fin;