The EnableMenuItem function enables, disables, or grays the specified menu item.
BOOL EnableMenuItem(
HMENU hMenu, // handle to menu
UINT uIDEnableItem, // menu item to enable, disable, or gray
UINT uEnable // menu item flags
);
Value | Meaning |
---|---|
MF_BYCOMMAND | Indicates that uIDEnableItem gives the identifier of the menu item. If neither the MF_BYCOMMAND nor MF_BYPOSITION flag is specified, the MF_BYCOMMAND flag is the default flag. |
MF_BYPOSITION | Indicates that uIDEnableItem gives the zero-based relative position of the menu item. |
MF_DISABLED | Indicates that the menu item is disabled, but not grayed, so it cannot be selected. |
MF_ENABLED | Indicates that the menu item is enabled and restored from a grayed state so that it can be selected. |
MF_GRAYED | Indicates that the menu item is disabled and grayed so that it cannot be selected. |
The return value specifies the previous state of the menu item (it is either MF_DISABLED, MF_ENABLED, or MF_GRAYED). If the menu item does not exist, the return value is 0xFFFFFFFF.
An application must use the MF_BYPOSITION flag to specify the correct menu handle. If the menu handle to the menu bar is specified, the top-level menu item (an item in the menu bar) is affected. To set the state of an item in a drop-down menu or submenu by position, an application must specify the handle to the drop-down menu or submenu.
When an application specifies the MF_BYCOMMAND flag, the system checks all items that open submenus in the menu identified by the specified menu handle. Therefore, unless duplicate menu items are present, specifying the menu handle to the menu bar is sufficient.
The InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu, and SetMenuItemInfo functions can also set the state (enabled, disabled, or grayed) of a menu item.
Windows CE: Windows CE does not support the MF_DISABLED flag for the uEnable parameter. Menu items cannot be disabled without being grayed. To disable a menu item use the MF_GRAYED flag.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Requires version 1.0 or later.
Header: Declared in winuser.h.
Import Library: Use user32.lib.
Menus Overview, Menu Functions, GetMenuItemID, InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu, SetMenuItemInfo, WM_SYSCOMMAND