EnableMenuItem, fonction (winuser.h)
Active, désactive ou grise l’élément de menu spécifié.
Syntaxe
BOOL EnableMenuItem(
[in] HMENU hMenu,
[in] UINT uIDEnableItem,
[in] UINT uEnable
);
Paramètres
[in] hMenu
Type : HMENU
Handle dans le menu.
[in] uIDEnableItem
Type : UINT
Élément de menu à activer, désactiver ou griser, tel que déterminé par le paramètre uEnable . Ce paramètre spécifie un élément dans une barre de menus, un menu ou un sous-menu.
[in] uEnable
Type : UINT
Contrôle l’interprétation du paramètre uIDEnableItem et indique si l’élément de menu est activé, désactivé ou grisé. Ce paramètre doit être une combinaison des valeurs suivantes.
Valeur retournée
Type : BOOL
La valeur de retour spécifie l’état précédent de l’élément de menu (il est MF_DISABLED, MF_ENABLED ou MF_GRAYED). Si l’élément de menu n’existe pas, la valeur renvoyée est -1.
Remarques
Une application doit utiliser l’indicateur MF_BYPOSITION pour spécifier la poignée de menu appropriée. Si la poignée de menu de la barre de menus est spécifiée, l’élément de menu de niveau supérieur (un élément de la barre de menus) est affecté. Pour définir l’état d’un élément dans un menu déroulant ou un sous-menu par position, une application doit spécifier un handle dans le menu déroulant ou sous-menu.
Lorsqu’une application spécifie l’indicateur MF_BYCOMMAND , le système vérifie tous les éléments qui ouvrent des sous-menus dans le menu identifié par le handle de menu spécifié. Par conséquent, à moins que des éléments de menu en double ne soient présents, il suffit de spécifier la poignée de menu dans la barre de menus.
Les fonctions InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu et SetMenuItemInfo peuvent également définir l’état (activé, désactivé ou grisé) d’un élément de menu.
Lorsque vous modifiez un menu de fenêtre, la barre de menus n’est pas immédiatement mise à jour. Pour forcer la mise à jour, appelez DrawMenuBar.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winuser.h (inclure Windows.h) |
Bibliothèque | User32.lib |
DLL | User32.dll |
Ensemble d’API | ext-ms-win-ntuser-menu-l1-1-0 (introduit dans Windows 8) |
Voir aussi
Conceptuel
Référence