– Création du projet ControlDemo
– Ajout du projet TestCtlDemo
– Exécution du contrôle ShapeLabel au moment de la conception
– Points importants de l’existence d’un objet UserControl
– Dessin du contrôle ShapeLabel
– Enregistrement des valeurs de propriétés du contrôle ShapeLabel
– Association d’une page de propriétés au contrôle ShapeLabel
– Ajout d’un événement au contrôle ShapeLabel
– Compilation du composant ControlDemo
– Récapitulatif de la création de contrôles
Exemple d’application : CtlPlus.vbg
Ajoute les propriétés, méthodes et événements nécessaires pour que le contrôle ShapeLabel soit fonctionnel. Complète les informations de ce chapitre, en présentant d’autres aspects de la création de contrôles, sans aborder les points élémentaires traités dans les procédures étape par étape. Si vous avez installé les exemples d’application, vous les trouverez dans le sous-dossier \CompTool\ActvComp du dossier d’exemples
de Visual Basic (\Vb\Samples\CompTool\ActvComp).Il sera plus aisé de suivre ces procédures si vous configurez d’abord l’environnement
de développement de Visual Basic de manière à afficher les fenêtres nécessaires.
– Avant de commencer
1 Dans le menu Affichage, cliquez sur Boîte à outils.
2 Dans le menu Affichage, cliquez sur Explorateur de projets pour ouvrir la fenêtre Explorateur de projet. Celle-ci sera fréquemment utilisée pour changer de fichier de projet.
3 Si la fenêtre Explorateur de projet est en affichage dossier, comme dans l’exemple ci-dessous, cliquez sur le bouton Basculer les dossiers sur la barre d’outils de la fenêtre Explorateur de projet pour désactiver les dossiers.
Création du projet ControlDemo
Des contrôles ActiveX peuvent être insérés dans toutes sortes de projets. Cependant,un contrôle compilé au sein d’un fichier .exe ne peut être partagé avec d’autres applications. La compilation du contrôle ShapeLabel est réalisée dans la suite de ce chapitre pour générer un fichier .ocx, afin de pouvoir être partagé. Le projet ControlDemo prendra ainsi la forme d’un projet de contrôle ActiveX.
Un projet de contrôle ActiveX peut contenir un nombre illimité de contrôles. Le fichier .ocx obtenu par compilation du projet contient l’ensemble de ces contrôles.
Ajout du projet TestCtlDemo
Pour expérimenter le contrôle ShapeLabel, il vous faut une feuille de test. Il n’est pas possible d’ajouter une feuille de test à ControlDemo et d’exécuter directement le projet, car un projet .ocx ne peut être exécuté de façon isolée. En effet, cela équivaudrait à exécuter seul un fichier .ocx.
Afin de permettre le débogage des composants in-process (.ocx, .dll), Visual Basic permet de charger deux projets ou plus dans un groupe de projets. Le groupe de projets permet de faciliter le débogage in-process, ainsi que le chargement du projet .ocx et du projet test.
Exécution du contrôle ShapeLabel au moment de la conception
Contrairement aux autres objets programmables, les contrôles ont des comportements en mode Création et des comportements en mode Exécution. En d’autres termes, une partie du code du contrôle est exécuté lorsqu’un développeur place une instance du contrôle sur une feuille au moment de la conception. Par exemple, le code placé dans la procédure d’événement UserControl_Resize sera exécuté au moment de la conception et de l’exécution. Pour déboguer le comportement d’exécution d’un contrôle, il vous faut exécuter le code de ce contrôle alors que la feuille de test sur laquelle le contrôle est placé reste en mode Création.
Les deux procédures qui suivent vous révèlent l’astuce. Dans la première, vous ajoutez du code à l’événement Resize du contrôle ShapeLabel. Dans la seconde, vous placez une partie du projet ControlDemo en mode Exécution, alors que le reste du projet est en mode Création, puis vous ajoutez une instance du contrôle ShapeLabel sur une feuille du projet test.