原文链接 -> 传送门
函数功能:
EnableMenuItem 函数用于使特定菜单项生效、失效或灰化。
API 函数原型:
注释:_In_ 说明该参数是输入的。
BOOL WINAPI EnableMenuItem( _In_ HMENU hMenu, _In_ UINT uIDEnableItem, _In_ UINT uEnable );
参数解析:
|
参数 |
含义 |
||||||||||||
|
hMenu |
指向菜单的句柄 |
||||||||||||
|
uIDEnableItem |
该参数指定菜单栏、菜单或子菜单中的一个菜单项,设置菜单项为生效、失效或灰化状态,取决于 uEnable 参数 |
||||||||||||
|
uEnable |
设置菜单项为生效、无效或灰化状态。该参数必须是以下值得组合:
|
返回值:
1. 返回值指向菜单项先前的状态(MF_DISABLED , MF_ENABLED 或 MF_GRAYED);
2. 如果菜单项不存在,返回值为 -1。
备注:
1. 程序必须使用 MF_BYPOSITION 标识指定正确的菜单句柄。如果菜单句柄指向菜单栏,最上层的菜单项(菜单栏中的一个菜单项)会被影响。通过菜单项位置来设置位于下拉菜单或子菜单中的菜单项的状态,应用程序必须指定下拉菜单或子菜单的句柄。
2. 当程序设置 MF_BYCOMMAND 标识时,系统会检查菜单句柄指向的菜单中所有能打开子菜单的菜单项。因此,除非出现重复的菜单项,否则菜单项指向菜单栏是足够的。
3. InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu, 和 SetMenuItemInfo 函数也可以设置菜单项状态(生效, 无效或灰化)。
4. 当你改变了一个窗口菜单,菜单栏不会立刻更新。调用 DrawMenuBar 函数可以强制更新。
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Winuser.h (包含于 Windows.h) |
|
Library |
User32.lib |
|
DLL |
User32.dll |




