EnableMenuItem功能启用,禁用或灰化指定的菜单项。
BOOL EnableMenuItem(
HMENU 【HMENU】, | //处理菜单 |
UINT 【uIDEnableItem】, | //菜单项启用,禁用或灰色 |
UINT 【uEnable】 | //菜单项标志 |
); |
参数
【HMENU】
标识菜单。
【uIDEnableItem】
指定由【uEnable】参数确定的要启用,禁用或灰色的菜单项。此参数指定菜单栏,菜单或子菜单中的项目。
【uEnable】
指定控制【uIDEnableItem】参数解释的标志,并指示菜单项是启用,禁用还是灰色。此参数必须是MF_BYCOMMAND或MF_BYPOSITION和MF_ENABLED,MF_DISABLED或MF_GRAYED的组合。
值 | 含义 |
MF_BYCOMMAND | 表示【uIDEnableItem】给出菜单项的标识符。如果没有指定MF_BYCOMMAND或MF_BYPOSITION标志,MF_BYCOMMAND标志是默认标志。 |
MF_BYPOSITION | 表示【uIDEnableItem】给出菜单项的基于零的相对位置。 |
MF_DISABLED | 表示菜单项已禁用,但不是灰色,因此无法选择。 |
MF_ENABLED | 表示菜单项已启用,并从灰色状态恢复,以便可以选择。 |
MF_GRAYED | 表示菜单项已禁用并显示为灰色,因此无法选择。 |
返回值
返回值指定菜单项的先前状态(它是MF_DISABLED,MF_ENABLED或MF_GRAYED)。如果菜单项不存在,返回值为0xFFFFFFFF。
备注
应用程序必须使用MF_BYPOSITION标志来指定正确的菜单句柄。如果指定菜单栏的菜单句柄,则顶级菜单项(菜单栏中的项目)将受到影响。要在下拉菜单或子菜单中按位置设置项目的状态,应用程序必须指定下拉菜单或子菜单的句柄。
当应用程序指定MF_BYCOMMAND标志时,Windows将检查在指定菜单句柄标识的菜单中打开子菜单的所有项目。因此,除非存在重复的菜单项,否则指定菜单栏的菜单句柄就足够了。
CreateMenu,InsertMenu,InsertMenuItem,LoadMenuIndirect,ModifyMenu和SetMenuItemInfo功能也可以设置菜单项的状态(启用,禁用或灰色)。
也可以看看
CreateMenu, GetMenuItemID, InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu, SetMenuItemInfo, WM_SYSCOMMAND