GetMenuState, fonction (winuser.h)
Récupère les indicateurs de menu associés à l’élément de menu spécifié. Si l’élément de menu ouvre un sous-menu, cette fonction retourne également le nombre d’éléments dans le sous-menu.
Syntaxe
UINT GetMenuState(
[in] HMENU hMenu,
[in] UINT uId,
[in] UINT uFlags
);
Paramètres
[in] hMenu
Type : HMENU
Handle du menu qui contient l’élément de menu dont les indicateurs doivent être récupérés.
[in] uId
Type : UINT
Élément de menu pour lequel les indicateurs de menu doivent être récupérés, comme déterminé par le paramètre uFlags .
[in] uFlags
Type : UINT
Indique comment le paramètre uId est interprété. Ce paramètre peut prendre les valeurs suivantes.
Valeur retournée
Type : UINT
Si l’élément spécifié n’existe pas, la valeur de retour est -1.
Si l’élément de menu ouvre un sous-menu, l’octet d’ordre inférieur de la valeur de retour contient les indicateurs de menu associés à l’élément, et l’octet d’ordre supérieur contient le nombre d’éléments dans le sous-menu ouvert par l’élément.
Sinon, la valeur de retour est un masque (OR au niveau du bit) des indicateurs de menu. Voici les indicateurs de menu associés à l’élément de menu.
Code/valeur de retour | Description |
---|---|
|
Une marque case activée est placée en regard de l’élément (pour les menus déroulants, les sous-menus et les menus contextuels uniquement). |
|
L’élément est désactivé. |
|
L’élément est désactivé et grisé. |
|
L’élément est mis en surbrillance. |
|
Il s’agit de l’indicateur MF_MENUBREAK , à l’exception des menus déroulants, des sous-menus et des menus contextuels, où la nouvelle colonne est séparée de l’ancienne colonne par une ligne verticale. |
|
L’élément est placé sur une nouvelle ligne (pour les barres de menus) ou dans une nouvelle colonne (pour les menus déroulants, les sous-menus et les menus contextuels) sans séparer les colonnes. |
|
L’élément est dessiné par le propriétaire. |
|
L’élément de menu est un sous-menu. |
|
Il existe une ligne de séparation horizontale (pour les menus déroulants, les sous-menus et les menus contextuels uniquement). |
Remarques
Il est possible de tester un élément pour une valeur d’indicateur de MF_ENABLED, MF_STRING, MF_UNCHECKED ou MF_UNHILITE. Toutefois, étant donné que ces valeurs correspondent à zéro, vous devez utiliser une expression pour les tester.
Indicateur | Expression à tester pour l’indicateur |
---|---|
MF_ENABLED | ! (Flag&(MF_DISABLED | MF_GRAYED)) |
MF_STRING | ! (Flag&(MF_BITMAP | MF_OWNERDRAW)) |
MF_UNCHECKED | ! (Flag&MF_CHECKED) |
MF_UNHILITE | ! (Flag&HILITE) |
Exemples
Pour obtenir un exemple, consultez Simulation de cases à cocher dans un menu.
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-2 (introduit dans Windows 10, version 10.0.10240) |
Voir aussi
Conceptuel
Référence
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour