|  | Overview |  | 
|  | 
|  | Group |  | 
|  | 
|  | Quick Info 
 | Windows NT 
 | Yes 
 |  | Win95 
 | Yes 
 |  | Win32s 
 | Yes 
 |  | Import Library 
 | - 
 |  | Header File 
 | winuser.h 
 |  | Unicode 
 | No 
 |  | Platform Notes 
 | None 
 | 
 |  | 
 
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 function to get the menu handle of the drop-down menu or submenu. 
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
GetSubMenu
			
				- Software for developers
				
- 
				Delphi Components
 .Net Components
 Software for Android Developers
- More information resources
				
- 
				MegaDetailed.Net
 Unix Manual Pages
 Delphi Examples