WM_MENUSELECT
The
WM_MENUSELECT message is sent to a menu s owner window when the user selects a
menu item.
WM_MENUSELECT
uItem = (UINT) LOWORD(wParam); // menu item or submenu index
fuFlags = (UINT) HIWORD(wParam); // menu flags
hmenu = (HMENU) lParam; // handle of menu clicked
Parameters
uItem
Value of the
low-order word of wParam. If the selected item is a command item, this
parameter contains the identifier of the menu item. If the selected item opens a
drop-down menu or submenu, this parameter contains the menu index of the
drop-down menu or submenu in the main menu, and the hMenu parameter then
contains the handle of the main (clicked) menu; use the GetSubMenu
fuFlags
Value of the
high-order word of wParam. Specifies one or more menu flags. This
parameter can be a combination of the following values:
Value |
Description |
MF_BITMAP |
Item
displays a bitmap. |
MF_CHECKED |
Item is
checked. |
MF_DISABLED |
Item is
disabled. |
MF_GRAYED |
Item is
grayed. |
MF_HILITE |
Item is
highlighted. |
MF_MOUSESELECT |
Item is
selected with the mouse. |
MF_OWNERDRAW |
Item is an
owner-drawn item. |
MF_POPUP |
Item opens
a drop-down menu or submenu. |
MF_SYSMENU |
Item is contained
in the window menu (also known as the System menu or Control menu).
The hmenu parameter identifies the window menu associated with
the message. |
hmenu
Value of lParam.
Identifies the menu that was clicked.
Return Values
If an
application processes this message, it should return zero.
Remarks
If the fuFlags
parameter contains 0xFFFF and the hmenu parameter contains NULL, Windows
has closed the menu.
Do not use
the value -1 for fuFlags. That is
because fuFlags is specified as (UINT) HIWORD(wParam).
If HIWORD(wParam) were 0xFFFF, fuFlags (because of the UINT
cast) would be 0x0000FFFF, not -1.
See Also