TD : Mise en oeuvre des formulaires et contrôles (1)
Les formulaires
Si vous n'avez jamais pratiqué Visual-basic, nous vous conseillons de suivre
le déroulement de création d'un projet dans la page "Pour commencer sans tarder" de ce site.
Pour commencer ce TD, vous allez créer un nouveau projet
de type Exe standard que vous allez appeler PForms (Menu Projet
/ Propriétés de Projet1). Pour plus de clarté, créez un répertoire
(de même nom que le projet) qui sera dédié aux fichiers composant ce
projet. Vous pourrez, à la fin de chaque partie de ce TD, télécharger un
modèle du projet tel qu'il devrait être. Cela peut vous sauver en cas de
difficulté. Toutefois, si vous suivez scrupuleusement les indications, tout se
passera bien !
Nous allons, tout d'abord, donner un nom et un
titre au formulaire par défaut (Form1) que l'environnement Visual-basic a
créé pour nous. Cliquez sur le formulaire puis tapez sur F4 pour activer la
fenêtre "Propriétés". A la ligne "Name" (la
première) entrez "frmMenu" puis, à la ligne "Caption"
entrez "Menu principal".
Vous devez obtenir un formulaire ayant cette apparence :
Nous allons, maintenant, empêcher le redimensionnement de la
fenêtre de formulaire par l'utilisateur et faire disparaître le menu système
de la barre de titre. Notez que les icônes "Réduire" et
"Agrandir" disparaîtront automatiquement lorsque nous interdirons le
redimensionnement.
Pour cela, utilisez les valeurs de propriétés suivantes pour
votre formulaire frmMenu :
| Propriété |
Valeur |
| BorderStyle |
Choisir "3 - Fixed Dialog" dans
la liste |
| ControlBox |
Choisir "False" dans la liste (ou
double-cliquez sur la propriété pour basculer la valeur) |
| MaxButton |
Cette propriété, qui correspond à l'icône
"Agrandir" est automatiquement passée à false lors de la
modification de BorderStyle. |
| MinButton |
Cette propriété, qui correspond à l'icone
"Agrandir" est automatiquement passée à false lors de la
modification de BorderStyle. |
Remarquez le changement d'apparence de la barre de titre de
votre formulaire :
:
Ne lancez pas encore le projet ! Il faut, d'abord, penser à
fournir, à l'utilisateur, un moyen de fermer le formulaire et d'arrêter le
projet. Nous allons ajouter un contrôle de type "CommandButton"
qui sera chargé de fermer le formulaire. Au cas ou, impatient, vous ayez lancé
le projet, utilisez la touche F4 pour le stopper (F4 = Arrêt d'une application
sous Windows).
Ajoutez un bouton de commande (CommandButton) sur le formulaire
en double-cliquant sur l'icône correspondante de la boite à outils :
.
Utilisez, ensuite, la fenêtre des propriétés (F4 ou click droit sur le bouton
pour obtenir le menu contextuel, commande "Propriétés") pour donner
les valeurs suivantes à votre bouton :
| Propriété |
Valeur |
| Name |
cmdClose |
| Caption |
&Fermer (L'esperluette
"&" permet d'offrir à l'utilisateur un raccourci clavier
(Alt-F dans ce cas) pour déclencher le click du bouton. |
| Picture |
Choisissez une icône qui vous
parait représentative (ici, le panneau STOP de la bibliothèque
d'images Microsoft VB6, répertoire "Computer"). |
| Style |
Choisissez "1 - Graphical"
dans la liste (ou double-cliquez sur la propriété pour basculer la
valeur). |
Ensuite, arrangez la taille du contrôle pour que l'image
et le texte ne se superposent pas et placez le bouton en bas du formulaire :
Il faudrait peut être, maintenant, s'occuper du code événementiel
de notre bouton cmdClose ! Pour accéder au module de code, le plus simple
est de double-cliquer sur le bouton lui même. Ainsi Visual-basic va vous
afficher le module de code source associé au formulaire mais, en plus, il va
vous créer le prototype de la procédure événementielle pour l'événement
par défaut (Click pour un bouton de commande) : Private Sub cmdClose_Click().
Notez que vous auriez pu créer ce prototype à partir du module
de code en utilisant les 2 ComboBox en haut de la fenêtre. Il faut
sélectionner l'objet dans la liste de gauche (cmdClose) et l'événement dans
la liste de droite (Click), ensuite Visual-basic génère le prototype de la Sub.
C'est LE moyen pour créer la procédure. Ne prenez pas l'habitude de taper les
prototypes de procédures événementielles : c'est une source d'erreurs.
Laissez VB6 faire, c'est son travail !
Saisissez le code suivant pour le bouton qui nous
intéresse :
|
Option Explicit
Option Compare Text
'---------------------------------
Private Sub cmdClose_Click()
'---------------------------------
Unload Me
End Sub
|
|
Notez l'utilisation de "Option
compare text" qui permet de s'assurer que Visual-basic ne fera
JAMAIS la différence entre majuscules et minuscules dans ses
comparaisons de chaînes de caractères.
|
Enregistrez les différentes composantes du projet en
cliquant sur la disquette dans la barre d'outils ou en utilisant le menu Fichier
/ Enregistrer le projet. N'oubliez pas d'indiquer, comme répertoire de
sauvegarde, le répertoire dédié que vous avez créé à cet effet (vous
risquez, sinon, de ne plus retrouver le projet !!! ... ne vous inquiétez pas,
ce n'est pas si grave, il y a une astuce : l'onglet "Récent" dans la
boite de dialogue que nous propose Visual Basic lors de son lancement, vous
propose la liste des derniers projets utilisés, ils ne sont donc pas perdus !
Le mieux étant quand même de les sauver dans le répertoire correct)
Vous pouvez, maintenant, vous risquer ;-) à lancer le projet,
utilisez la touche F5 ou, mieux encore, Ctrl - F5. Cette
combinaison de touches vous permet d'être sûr que, au moment où le projet se
lancera, il n'y aura pas d'erreurs de syntaxe dans quelque module que ce soit.
Cela correspond à l'utilisation du menu "Exécution / Exécuter avec
compilation complète".
En cas de problème de démarrage, vérifiez que le
programme tente bien de commencer par l'ouverture de notre "frmMenu".
Pour cela utilisez le menu "Projet / Propriétés de PForms" et
vérifiez que la liste "Objet de démarrage" pointe bien sur le
formulaire "frmMenu" '(si vous avez suivi la construction du projet
telle qu'expliquée dans cette page, ça doit être le cas !). Si, par hasard,
cette liste ne pointait pas sur ce choix, déroulez la liste et sélectionnez
"frmMenu".
Évidemment, pour l'instant, il ne se passe pas grand chose.
Vous voyez apparaître le formulaire "Menu principal" avec un
magnifique bouton qui vous permet de le fermer et, donc, d'arrêter le projet.
Notez tout de même que vous ne pouvez ni redimensionner, ni
réduire, ni agrandir la fenêtre. Cela peut éviter de nombreuses erreurs à
vos utilisateurs débutants. De plus, pour fermer ce formulaire, vous êtres
contraints d'utiliser le bouton prévu à cet effet ... Le programme contrôle
la situation !
La deuxième partie de ce TD va vous apprendre à ajouter un
bouton permettant d'appeler un autre formulaire. Nous verrons deux façons de le
faire et découvrirons l'utilité des fenêtres modales (boites de dialogue).