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
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. |
If an application processes this message, it should return zero.
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.
Comments: