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