Partager via


Message WM_MENUSELECT

Envoyé à la fenêtre propriétaire d’un menu lorsque l’utilisateur sélectionne un élément de menu.

#define WM_MENUSELECT                   0x011F

Paramètres

wParam

Le mot de bas ordre spécifie l’élément de menu ou l’index de sous-menu. Si l’élément sélectionné est un élément de commande, ce paramètre contient l’identificateur de l’élément de menu. Si l’élément sélectionné ouvre un menu déroulant ou un sous-menu, ce paramètre contient l’index du menu déroulant ou du sous-menu dans le menu principal, et le paramètre lParam contient la poignée du menu principal (cliqué) ; utilisez la fonction GetSubMenu pour obtenir la poignée de menu dans le menu déroulant ou sous-menu.

Le mot à ordre élevé spécifie un ou plusieurs indicateurs de menu. Ce paramètre peut prendre l’une ou plusieurs des valeurs suivantes.

Valeur Signification
MF_BITMAP
0x00000004L
L’élément affiche une bitmap.
MF_CHECKED
0x00000008L
L’élément est activé.
MF_DISABLED
0x00000002L
L’élément est désactivé.
MF_GRAYED
0x00000001L
L’élément est grisé.
MF_HILITE
0x00000080L
L’élément est mis en surbrillance.
MF_MOUSESELECT
0x00008000L
L’élément est sélectionné avec la souris.
MF_OWNERDRAW
0x00000100L
L’élément est un élément dessiné par le propriétaire.
MF_POPUP
0x00000010L
L’élément ouvre un menu déroulant ou un sous-menu.
MF_SYSMENU
0x00002000L
L’élément est contenu dans le menu de la fenêtre. Le paramètre lParam contient une poignée dans le menu associé au message.

lParam

Une poignée du menu qui a été cliquée.

Valeur retournée

Si une application traite ce message, elle doit retourner à zéro.

Notes

Si le mot d’ordre élevé de wParam contient 0xFFFF et si le paramètre lParam contient NULL, le système a fermé le menu.

N’utilisez pas la valeur 1 pour le mot d’ordre élevé de wParam, car cette valeur est spécifiée en tant que (UINT) HIWORD(wParam). Si la valeur est 0xFFFF, elle est interprétée comme 0x0000FFFF, et non 1, en raison de la conversion en UINT.

Spécifications

Condition requise Value
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Winuser.h (y compris Windows.h)

Voir aussi

Référence

GetSubMenu

HIWORD

LOWORD

Conceptuel

Accélérateurs du clavier