GetMenuState

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

GetMenuState函数检索与指定菜单项相关联的菜单标志。如果菜单项打开子菜单,此函数也返回子菜单中的项目数。

GetMenuItemInfo功能已被GetMenuItemInfo功能取代。但是,如果您不需要GetMenuItemInfo的任何扩展功能,您仍然可以使用GetMenuState.

UINT GetMenuState(

HMENU 【HMENU】,//菜单的句柄
UINT 【的uId】,//菜单项进行查询
UINT 【uFlags】//菜单标志
); 

参数

【HMENU】

标识包含要检索其标志的菜单项的菜单。

【的uId】

指定由【uFlags】参数确定的要检索菜单标志的菜单项。

【uFlags】

指定如何解释【的uId】参数。此参数可以是以下值之一:

描述
MF_BYCOMMAND表示【的uId】参数给出菜单项的标识符。如果没有指定MF_BYCOMMAND或MF_BYPOSITION标志,MF_BYCOMMAND标志是默认标志。
MF_BYPOSITION表示【的uId】参数给出菜单项的基于零的相对位置。

返回值

如果指定的项目不存在,返回值为0xFFFFFFFF。

如果菜单项打开子菜单,返回值的低位字节包含与项目相关的菜单标志,高字节包含项目打开的子菜单中的项目数。

否则,返回值是菜单标志的掩码(布尔OR)。以下是与菜单项相关联的菜单标志。

描述
MF_CHECKED在项目旁边放置复选标记(仅适用于下拉菜单,子菜单和快捷菜单)。
MF_DISABLED禁用该项目。
MF_GRAYED禁用并灰化项目。
MF_HILITE突出显示项目。
MF_MENUBARBREAK功能与MF_MENUBREAK标志相同,但下拉菜单,子菜单和快捷菜单除外,其中新列与旧列与垂直线分隔。
MF_MENUBREAK将项目放置在新行(菜单栏)或新列(对于下拉菜单,子菜单和快捷菜单)而不分隔列。
MF_SEPARATOR创建水平分割线(仅适用于下拉菜单,子菜单和快捷菜单)。

也可以看看

GetMenu, GetMenuItemCount, GetMenuItemID, GetMenuItemInfo, GetMenuString