EnableMenuItem
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 |
); |
|
Parameters
hMenu
Identifies
the menu.
uIDEnableItem
Specifies the
menu item to be enabled, disabled, or grayed, as determined by the uEnable
parameter. This parameter specifies an item in a menu bar, menu, or submenu.
uEnable
Specifies
flags that control the interpretation of the uIDEnableItem parameter and
indicate whether the menu item is enabled, disabled, or grayed. This parameter
must be a combination of either MF_BYCOMMAND or MF_BYPOSITION and MF_ENABLED,
MF_DISABLED, or MF_GRAYED.
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. |
Return Values
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.
Remarks
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, Windows 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 CreateMenu,
InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu,
and SetMenuItemInfo functions can also set the state (enabled, disabled,
or grayed) of a menu item.
See Also