Éditeur de menu (C++)
Les menus permettent d’organiser les commandes de manière logique et de les trouver plus facilement. Avec l’Éditeur de menu, vous pouvez créer et modifier des menus en travaillant directement avec une barre de menus qui ressemble étroitement à celle de votre application terminée.
Conseil
Lors de l’utilisation de l’Éditeur de menu, dans de nombreuses instances, vous pouvez cliquer avec le bouton droit pour afficher un menu contextuel de commandes fréquemment utilisées. Les commandes disponibles varient selon la cible du pointeur.
Procédure
L’Éditeur de menu vous permet de :
Pour créer un menu standard
Accédez à l’affichage des ressources de menu Afficher>la ressource ou Afficher>d’autres affichages de ressources Windows>, puis cliquez avec le bouton droit sur le titre du menu. Choisissez Ajouter une ressource, puis menu.
Sélectionnez la zone Nouvel élément (rectangle qui contient le type ici) dans la barre de menus.
Zone Nouvel élémentTapez un nom pour votre nouveau menu, par exemple Fichier.
Le texte que vous tapez apparaît à la fois dans l’Éditeur de menu et dans la zone Légende de la fenêtre Propriétés. Vous pouvez modifier les propriétés du nouveau menu dans les deux emplacements.
Une fois que vous avez donné à votre nouveau menu un nom dans la barre de menus, la zone nouvel élément se déplace vers la droite (pour vous permettre d’ajouter un autre menu). Une autre zone de nouvel élément s’ouvre sous votre premier menu pour pouvoir y ajouter des commandes de menu.
Nouvelle zone Élément avec le focus décalé après avoir tapé le nom du menuRemarque
Pour créer un menu à élément unique dans la barre de menus, définissez la propriété Contextuelle sur False.
Pour créer un sous-menu
Sélectionnez la commande de menu pour laquelle vous souhaitez créer un sous-menu.
Dans la zone Nouvel élément qui apparaît à droite, tapez le nom de la nouvelle commande de menu. Cette nouvelle commande apparaît en premier dans le sous-menu.
Ajoutez d’autres commandes de menu au menu de sous-menu.
Pour insérer un nouveau menu parmi des menus existants
Sélectionnez un nom de menu existant et appuyez sur la touche Insérer, ou cliquez avec le bouton droit sur la barre de menus, puis choisissez Insérer nouveau.
La zone Nouvel élément est insérée avant l’élément sélectionné.
Pour ajouter des commandes à un menu
Créez un menu. Sélectionnez ensuite un nom de menu, par exemple , Fichier.
Chaque menu sera développé et exposera une zone Nouvel élément pour les commandes. Par exemple, vous pouvez ajouter les commandes New, Open et Close to a File menu.
Dans la zone Nouvel élément, tapez le nom de la nouvelle commande de menu.
Remarque
Le texte que vous tapez apparaît à la fois dans l’Éditeur de menu et dans la zone Légende de la fenêtre Propriétés. Vous pouvez modifier les propriétés du nouveau menu dans les deux emplacements.
Conseil
Vous pouvez définir une touche mnémonique (touche d'accès rapide) qui permet à l'utilisateur de sélectionner la commande de menu. Tapez un ampersand (
&
) devant une lettre pour le spécifier comme mnémonique. L'utilisateur peut sélectionner la commande de menu en tapant cette lettre.Dans la fenêtre Propriétés , sélectionnez les propriétés de commande de menu qui s’appliquent. Pour plus d’informations, consultez Propriétés de la commande de menu.
Dans la zone d’invite de la fenêtre Propriétés , tapez la chaîne d’invite que vous souhaitez afficher dans la barre d’état de votre application.
Cette étape crée une entrée dans la table de chaînes avec le même identificateur de ressource que la commande de menu que vous avez créée.
Remarque
Les invites ne peuvent s’appliquer qu’aux éléments de menu avec une propriété contextuelle true. Par exemple, les éléments de menu de niveau supérieur peuvent avoir des invites s'ils ont des éléments de sous-menu. L’objectif d’une invite est d’indiquer ce qui se passera si un utilisateur sélectionne l’élément de menu.
Appuyez sur Entrée pour terminer la commande de menu.
La nouvelle zone d’élément est sélectionnée pour vous permettre de créer d’autres commandes de menu.
Pour sélectionner plusieurs commandes de menu pour exécuter des opérations en bloc, telles que la suppression ou la modification des propriétés
Lorsque vous maintenez la touche Ctrl enfoncée, sélectionnez les menus ou les commandes de sous-menu souhaitées.
Pour déplacer et copier des menus et des commandes de menu
Utilisez la méthode glisser-déplacer :
Faites glisser ou copiez l'élément que vous souhaitez déplacer vers :
Un nouvel emplacement dans le menu actuel.
Un autre menu. Vous pouvez accéder à d’autres menus en faisant glisser le pointeur de la souris sur eux.
Déplacez la commande de menu quand le guide d'insertion affiche la position souhaitée.
Utilisez les commandes du menu contextuel :
Cliquez avec le bouton droit sur un ou plusieurs menus ou commandes de menu, puis choisissez Couper (déplacer) ou Copier.
Si vous déplacez les éléments vers une autre ressource de menu ou fichier de script de ressource, ouvrez-le dans une autre fenêtre.
Sélectionnez la position du menu ou de la commande de menu où vous souhaitez effectuer le déplacement ou la copie.
Dans le menu contextuel, choisissez Coller. L'élément déplacé ou copié est placé avant l'élément sélectionné.
Remarque
Vous pouvez également faire glisser, copier et coller des éléments vers d'autres menus dans d'autres fenêtres de menu.
Pour supprimer un menu ou une commande de menu
Cliquez avec le bouton droit sur le nom ou la commande du menu, puis choisissez Supprimer.
Remarque
De même, vous pouvez utiliser le menu contextuel pour effectuer d'autres actions telles que Copier, Couper, Coller, Insérer nouveau, Insérer un séparateur, Modifier ID, Afficher comme Popup, Vérifier les mnémoniques, etc.
Menus contextuels
Lesmenus contextuels affichent les commandes fréquemment utilisées. Ils dépendent du contexte selon l'emplacement du pointeur. L'utilisation de menus contextuels dans votre application nécessite la création du menu en question, puis sa connexion au code de l'application.
Une fois que vous avez créé la ressource de menu, votre code d’application doit charger la ressource de menu et utiliser TrackPopupMenu pour que le menu apparaisse. Une fois que l’utilisateur a ignoré le menu contextuel en le sélectionnant en dehors de celui-ci ou sélectionné une commande, cette fonction retourne. Si l'utilisateur choisit une commande, ce message de commande est envoyé à la fenêtre dont le handle a été passé.
Remarque
Pour les programmes de bibliothèque MFC (Microsoft Foundation Class) et les programmes ATL, utilisez les Assistants Code pour connecter des commandes de menu au code. Pour plus d’informations, consultez Ajout d’un événement et mappage de messages aux fonctions.
Pour créer un menu contextuel, créez un menu avec un titre vide et ne fournissez pas de légende. Ensuite, ajoutez une commande de menu au nouveau menu. Accédez à la première commande de menu sous le titre du menu vide (il contient le type de légende temporaire Ici) et tapez une légende et toutes les autres informations.
Répétez ce processus pour toutes les autres commandes de menu dans le menu contextuel et veillez à enregistrer la ressource de menu.
Pour connecter un menu contextuel à votre application, par exemple, ajoutez un gestionnaire de messages pour WM_CONTEXTMENU, puis ajoutez le code suivant au gestionnaire de messages :
CMenu menu; VERIFY(menu.LoadMenu(IDR_MENU1)); CMenu* pPopup = menu.GetSubMenu(0); ASSERT(pPopup != NULL); pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd());
Remarque
Le point CPoint transmis par le gestionnaire de messages se trouve dans les coordonnées de l’écran.
Normalement, lorsque vous travaillez dans l’Éditeur de menu, une ressource de menu s’affiche sous la forme d’une barre de menus. Toutefois, il est possible que des ressources de menu soient ajoutées à la barre de menus de l'application pendant l'exécution du programme.
Pour afficher une ressource de menu en tant que menu contextuel, cliquez avec le bouton droit sur le menu et choisissez Afficher en tant que fenêtre contextuelle.
Cette option n’est qu’une préférence d’affichage et ne modifie pas votre menu.
Conseil
Pour revenir à l’affichage de la barre de menus, sélectionnez Afficher à nouveau en tant que fenêtre contextuelle . Cette action supprime la coche et retourne l’affichage de la barre de menus.
Spécifications
Win32
Voir aussi
Resource Editors
Commandes de menu
Objets d’interface utilisateur et ID de commande
Menus
Menus