logo UsualSoft   Skip Navigation Links
Accueil
Références
Formations
TutorielsExpand Tutoriels
Liens téléchargements

Contact : cgruchet@hotmail.com - Tél: 06 22 82 90 55
Microsoft Certified Professional
Cours : Visual-Basic

Les contrôles 

Claude Gruchet

Mise en oeuvre de Label

Un Label est une étiquette. Il s'agit d'un contrôle permettant d'afficher un texte mis en forme (police, taille, couleur ...). Il peut être lié à un champ de base de données mais, ne permettant pas la saisie, son contenu est en lecture seule.
Un de ses gros avantages est qu'il ne consomme pas de ressource Windows !

Propriétés indispensables de Label

Propriété Utilisation
BackStyle Permet de donner un fond transparent ou opaque au Label.
BorderStyle Permet de donner une bordure au Label. Associée avec BackStyle (Opaque) et BackColor (Blanc) permet de donner une apparence de TextBox (en lecture seule) à un Label.
BackColor Permet de donner une couleur au fond de l'étiquette. Pour une couleur indépendante des couleurs définies dans le Panneau de contrôle Windows, utilisez l'onglet "Palette"
Caption C'est la propriété par défaut. Elle contient le texte qui sera affiché dans l'étiquette. Il s'agit d'une chaîne de caractères (String).
DataField Indique le nom du champ si le contrôle est lié à un contrôle Data.
DataSource Nom d'un éventuel contrôle Data, source de données à afficher dans le contrôle. (utilisé avant de renseigner DataField)
Font Détermine la police de caractères utilisée, sa taille, son style (gras, souligné ...). VB fournit une boite de dialogue pour vous aider à choisir les valeurs voulues. Le dialogue est accessible en cliquant sur le petit bouton avec les 3 points à droite de la zone de valeur de la propriété dans la fenêtre "propriétés".
ForeColor Détermine la couleur d'écriture, mêmes remarques que pour BackColor.
Name Selon la convention Microsoft, un nom de Label doit être préfixé par "lbl". Ex : lblRes pour un résultat.

TabIndex

Position du contrôle dans l'ordre de tabulation du formulaire. C'est le contrôle ayant la valeur de TabIndex à 0 qui sera le contrôle actif à la première activation du formulaire (sauf code source activant un autre contrôle).

NB : Bien qu'un Label ne puisse être activé par l'utilisateur. Une bonne numérotation des Labels permet d'utiliser l'esperluette (&) pour créer des raccourcis clavier (avec Alt) sur des zones de texte. Si le Label utilise "&" pour créer un raccourci (&Nom pour afficher Nom et avoir un raccourci avec Alt-N) c'est le contrôle pouvant prendre le focus (en général une zone de texte) et dont le TabIndex est immédiatement supérieur qui va récupérer le focus (le curseur).

ToolTipText Permet d'afficher un texte d'aide (bulle jaune) lors du survol du contrôle par la souris.
Visible Permet de cacher (False) ou d'afficher (True) le contrôle.


Méthodes "basiques" de Label

Les méthodes de la classe "Label" sont peu nombreuses. Nous ne verrons, ici, que les plus utilisées, il en existe d'autres, notamment pour le "Drag and Drop".


Méthode Utilisation
Move Permet de déplacer le contrôle sur le formulaire. Les paramètres de cette méthode sont position X, position Y, hauteur du contrôle, largeur du contrôle (par défaut en Twips).

NB : Le Twip est une unité de mesure Microsoft, plus petite qu'un pixel. On peur obtenir le nombre de twips pat pixel pour une résolution donnée en utilisant la fonction TwipsPerPixel() (consulter la documentation VB à ce sujet).

ZOrder Permet de changer le plan d'affichage du Label : avant plan, arrière plan. Pour mettre le Label à l'avant plan utilisez : ZOrder 0

Événements de Label

Même s'il est assez rare d'écrire du code pour des Labels, il est utile (voir indispensable) de connaître l'existence du "minimum vital".

Événement Utilisation
Change Se produit si le contenu du Label change (ça ne peut pas être une saisie !). C'est le cas si votre code source modifie le contenu de la propriété Caption du label ou si, le Label étant lié à un contrôle Data, les données de la base sont modifiées.
Click Permet d'utiliser le Label comme un bouton de commande ou un lien Hypertexte. Se déclenche lorsque l'utilisateur clique sur le Label.
DblClick Permet de déclencher l'exécution de code lors d'un double-click de l'utilisateur sur le Label.

D'autres événements existent mais ils sont liés aux fonctions de "Drag and Drop" ou aux liens DDE qui ne sont pas un sujet d'initiation ...


Mise en oeuvre de TextBox

A chaque fois que vous allez vouloir donner à votre utilisateur la possibilité de saisir de l'information vous allez devoir utiliser le contrôle "Zone de texte" ou "TextBox".

Nous allons, dans cette page, explorer un peu les divers propriétés, méthodes et événements utiles et intéressants pour la construction d'interfaces utilisateur conviviales et "sécurisées".

Propriétés indispensables de TextBox

Propriété Utilisation
Name Selon la convention Microsoft, un nom de TextBox doit être préfixé par "txt". Ex : txtNomCli pour un nom de client.
Alignment Permet d'aligner le texte à gauche, au centre ou à droite.
BackColor Permet de donner une couleur au fond de l'étiquette. Pour une couleur indépendante des couleurs définies dans le Panneau de contrôle Windows, utilisez l'onglet "Palette"
BorderStyle Permet d'enlever la bordure de la zone de texte.
CausesValidation Très importante, cette propriété indique si l'événement Validate du contrôle précédent sera déclenché lorsque notre TextBox sera activée.
DataField Indique le nom du champ si le contrôle est lié à un contrôle Data.
DataSource Nom d'un éventuel contrôle Data, source de données à afficher dans le contrôle. (utilisé avant de renseigner DataField)
Enabled Permet de désactiver (valeur False) la zone de texte qui sera, alors, inaccessible à l'utilisateur et s'affichera en grisé.
Font Détermine la police de caractères utilisée, sa taille, son style (gras, souligné ...). VB fournit une boite de dialogue pour vous aider à choisir les valeurs voulues. Le dialogue est accessible en cliquant sur le petit bouton avec les 3 points à droite de la zone de valeur de la propriété dans la fenêtre "propriétés".
ForeColor Détermine la couleur d'écriture, mêmes remarques que pour BackColor.
Locked Permet de verrouiller le contrôle (les saisies ne sont plus possibles si Locked = True).
MaxLength Donne une limite au nombre de caractères que l'on peut saisir. Une valeur 0 indique qu'il n'y a pas de limite.
Multiline Permet d'indiquer à VB que la saisie, dans cette zone, se fera sur plusieurs lignes.
TabIndex Position du contrôle dans l'ordre de tabulation du formulaire. C'est le contrôle ayant la valeur de TabIndex à 0 qui sera le contrôle actif à la première activation du formulaire (sauf code source activant un autre contrôle).
Text C'est la propriété par défaut, représente le contenu de la zone de texte (String).
ToolTipText Permet d'afficher un texte d'aide (bulle jaune) lors du survol du contrôle par la souris.
Visible Permet de cacher (False) ou d'afficher (True) le contrôle.

 

Méthodes "basiques" de TextBox

Méthode Utilisation
Move Permet de déplacer le contrôle sur le formulaire. Les paramètres de cette méthode sont position X, position Y, hauteur du contrôle, largeur du contrôle (par défaut en Twips).

NB : Le Twip est une unité de mesure Microsoft, plus petite qu'un pixel. On peur obtenir le nombre de twips pat pixel pour une résolution donnée en utilisant la fonction TwipsPerPixel() (consulter la documentation VB à ce sujet).

Refresh Force le rafraîchissement complet à l'écran du contrôle.
SetFocus Donne le "focus" au contrôle. Microsoft définit le "focus" comme l'état de réceptivité aux clics de souris et aux saisies au clavier.

En fait, pour l'utilisateur cela revient à mettre le curseur dans le contrôle.

ZOrder Permet de changer le plan d'affichage du contrôle : avant plan, arrière plan. Pour mettre le contrôle à l'avant plan utilisez : ZOrder 0

Événements de TextBox

Événements  Utilisation
Change Se produit si le contenu du contrôle change. C'est le cas si votre code source modifie le contenu de la propriété Text de la TextBox ou si, le contrôle étant lié à un contrôle Data, les données du jeu d'enregistrements sont modifiées.
GotFocus Se produit lorsque le curseur "arrive" dans le contrôle (juste après). Microsoft définit le "focus" comme l'état de réceptivité aux clics de souris et aux saisies au clavier.
KeyDown(keycode As Integer, shift As Integer) Se produit lorsque l'utilisateur enfonce une touche. Le code machine de la touche est contenu dans l'argument KeyCode (par exemple vbKeyF1). A chaque touche est associée une constante.
KeyPress(KeyAscii As Integer) Permet de tester quelle touche a été pressée, l'argument KeyAscii contient le code ASCII du caractère. Pour "tuer" le caractère, il suffit de mettre Key_Ascii à 0.

NB :Ne permet pas de tester les touches non Ascii, par exemple, les touches de curseur, Ctrl, Alt .. etc ... ne sont pas traitées par cet événement (voir KeyDown, KeyUp)

KeyUp(keycode As Integer, shift As Integer) Se produit lorsque l'utilisateur relâche une touche. Le code machine de la touche est contenu dans l'argument KeyCode (par exemple vbKeyF1). A chaque touche est associée une constante.
LostFocus Se produit juste après que le contrôle perde le focus. Microsoft définit le "focus" comme l'état de réceptivité aux clics de souris et aux saisies au clavier.
Validate(Cancel as boolean) Se produit avant que le contrôle perde le focus. Permet de tester la validité du contenu (propriété Text). On peut empêcher le curseur de quitter le contrôle en mettant l'argument "Cancel" à True.

NB : Cet événement n'est déclenché que si le contrôle "cible" du focus à la propriété CausesValidation à True.

 

Mise en oeuvre de CommandButton

Le but d'un bouton de commande est de déclencher un événement (Click) initié par l'utilisateur. Cela permet d'exécuter du code réalisant tout ce que l'on a bien voulu écrire.

Principales propriétés :

Propriété Utilisation
Caption Indique le libellé du bouton. Vous pouvez créer un raccourci clavier accessible via la touche Alt en utilisant l'esperluette (&) devant la touche à associer à Alt : par exemple &Fermer pour permettre d'utiliser Alt-F comme raccourci.
CausesValidation Très importante, cette propriété indique si l'événement Validate du contrôle précédent sera déclenché lorsque notre TextBox sera activée. En général, cette propriété est à False pour le bouton Fermer d'un formulaire.
Enabled Permet de désactiver (valeur False) le contrôle qui sera, alors, inaccessible à l'utilisateur et s'affichera en grisé.
Font Détermine la police de caractères utilisée, sa taille, son style (gras, souligné ...). VB fournit une boite de dialogue pour vous aider à choisir les valeurs voulues. Le dialogue est accessible en cliquant sur le petit bouton avec les 3 points à droite de la zone de valeur de la propriété dans la fenêtre "propriétés".
MouseIcon Chemin et nom du fichier image (.ico ou .cur) à utiliser comme curseur lorsque la souris survole le bouton.
Name Selon la convention Microsoft, un nom de CommandButton doit être préfixé par "cmd". Ex : cmdClose pour un bouton "Fermer".
Picture Chemin et nom du fichier image à afficher dans le bouton (si le "Style" est "Graphical")
Style "Standard" ou "Graphique". Le bouton "graphique" permet l'utilisation, par exemple, d'une icône (propriété Picture) et/ou une couleur de fond (BackColor).
TabIndex Position du contrôle dans l'ordre de tabulation du formulaire. C'est le contrôle ayant la valeur de TabIndex à 0 qui sera le contrôle actif à la première activation du formulaire (sauf code source activant un autre contrôle).
ToolTipText Permet d'afficher un texte d'aide (bulle jaune) lors du survol du contrôle par la souris.
Visible Permet de cacher (False) ou d'afficher (True) le contrôle.
 

De nombreuses autres propriétés sont utiles pour personnaliser, encore plus, votre bouton. Toutefois celles indiquées ci-dessus sont celles que vous utiliserez la plupart du temps.

Méthodes "basiques" de CommandButton

es méthodes de la classe "CommandButton" sont peu nombreuses. Nous ne verrons, ici, que les plus utilisées, il en existe d'autres, notamment pour le "Drag and Drop".


Méthode Utilisation
Move Permet de déplacer le contrôle sur le formulaire. Les paramètres de cette méthode sont position X, position Y, hauteur du contrôle, largeur du contrôle (par défaut en Twips).

NB : Le Twip est une unité de mesure Microsoft, plus petite qu'un pixel. On peur obtenir le nombre de twips pat pixel pour une résolution donnée en utilisant la fonction TwipsPerPixel() (consulter la documentation VB à ce sujet).

ZOrder Permet de changer le plan d'affichage du CommandButton: avant plan, arrière plan. Pour mettre le contrôle à l'avant plan utilisez : ZOrder 0

Événements de CommandButton

Événement Utilisation
Click Se déclenche lorsque l'utilisateur clique sur le Label. C'est, de loin, l'événement le plus utilisé.
DblClick Permet de déclencher l'exécution de code lors d'un double-click de l'utilisateur sur le bouton.


Pour poursuivre ...

Pour finir et bien intégrer la notion, nous poursuivrons le TD commencé lors de l'étude des formulaires : le projet PForms. Nous réaliserons, ici, le formulaire de calculatrice qui est un très bon exemple pour l'auto formation à la réalisation d'interfaces.