EnableMenuItem

【勇芳软件工作室】汉化HomePreviousNext

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将检查在指定菜单句柄标识的菜单中打开子菜单的所有项目。因此,除非存在重复的菜单项,否则指定菜单栏的菜单句柄就足够了。

CreateMenuInsertMenuInsertMenuItemLoadMenuIndirectModifyMenuSetMenuItemInfo功能也可以设置菜单项的状态(启用,禁用或灰色)。

也可以看看

CreateMenu, GetMenuItemID, InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu, SetMenuItemInfo, WM_SYSCOMMAND