Un système de menus est composé de plusieurs menus qui eux-mêmes peuvent être
composés de plusieurs sous-menus. La plupart des logiciels de Microsoft possèdent
un système de menus pour faciliter l'utilisateur dans ses actions.
Pour créer un système de menus, allez dans le menu "Outils" du système de menu de
Visual Basic et choisissez la commande "Créateur de menus" ou pour aller plus vite,
cliquez sur la 3ème image de la barre d'outils.
A première vue, ça a l'air compliqué. Mais après quelques manipulations, ce sera
facile.
Bon, voyons de plus près ce système de menus.
L'esperlouette "&" que vous voyez dans chaque menu et commande vous permet de créer des
raccourcis. Ainsi, pour ouvrir le menu "Fichier", vous pouvez tout simplement
appuyer sur Alt+F. Notez que pour un menu, vous n'avez pas besoin de lui affecter
une lettre pour pouvoir créer un raccourci. C'est automatiquement "Alt" + la lettre
précédant l'esperlouette. Pour les commandes, allez dans la liste déroulante Shortcut et
choisissez le raccourci que vous voulez pour votre commande de menu.
Pour créer une commande de menu, il faut l'indenter au menu auquel il est rattaché.
Pour cela, à la suite de la création du menu "Fichier", appuyez sur la flèche de
droite pour indenter la commande "Ouvrir". Visual basic permet un maximum de
5 niveaux d'indentation. Par exemple, vous pouvez après avoir créé la commande
"Ouvrir", créer une sous-commande en l'indentant à ce dernier.
Vous pouvez par ailleurs créer une barre séparatrice afin de séparer plusieurs
commande de menu. Pour cela, dans "Caption", mettez un "-" et donnez-lui un nom
quelconque.
- La case à cocher "Checked" permet d'afficher ou d'effacer une marque de sélection
en face d'une commande de menu.
- La case à cocher "Enabled" permet d'empêcher l'utilisateur de sélectionner une
commande. Si vous décochez cette case, l'utilisateur ne pourra pas
sélectionner le menu ou la commande auquel vous avez décochez la case "Enabled".
- La case à cocher "Visible" permet de cacher ou d'afficher un menu ou une commande
de menu.
- La case à cocher "Windowlist" permet d'afficher les derniers fichiers ouvert
par l'application concernée.
Pour les autres les options, laissez-les de côté, pour le moment.
Voilà, c'est terminé, pour la création de menu. Il ne reste plus qu'à affecter à
chaque commande de menu une action spécifique. Pour affecter une action à une commande,
cliquez sur celui-ci dans la feuille où est créé le système de menus.
Pour les actions de chaque commande, lisez les cours qui suivent.
Dans une quelconque application de Microsoft, lorsque vous cliquez sur le bouton
droit de votre souris, une série de commande apparaît: c'est le menu contextuel
(ou Popup menu en anglais).
La création d'un popup menu se fait presque comme un système de menu. Pour cela,
faites exactement comme si vous créez un système de menu. Définissez ensuite, une
action pour chaque commande du menu contextuel. Par la suite, il faut définir
dans quelles conditions doit apparaître le menu contextuel. Double-cliquez sur la
feuille où est créé le système de menu et dans la liste déroulante "événement",
sélectionnez l'événement "MouseDown".
Entrez les instructions suivantes :
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single), Y As Single
If (Button = 2) Then
PopupMenu X
end if
End Sub
Interprétation : Lorsque le bouton droit de la souris a été
cliqué, le menu contextuel X apparaît.
Vous pouvez remplacer la valeur de la variable "Button" si vous voulez que le
menu contextuel apparaisse à une autre action de l'utilisateur :
- Pour que le menu contextuel apparaisse en cliquant sur le bouton gauche
de la souris, remplacez 2 par 1 dans la condition (Button = 1);
- Pour que le menu contextuel apparaisse en cliquant sur le bouton central
de la souris, remplacez 2 par 4 dans la condition (Button = 4);
Enfin, revenez dans la boîte de dialogue "créateur de menu" et décochez la case
"Visible" du menu que vous désirez rendre contextuel. Ne le faites pas avant car
si vous le faites, vous ne pourrez pas définir une action pour chaque commande du
menu contextuel.