CMenu::GetMenuState

UINT GetMenuState( UINT nID, UINT nFlags ) const;

返回值:
若指定的项不存在,则返回值为0xFFFFFFFF。若nId 指定的是弹出菜单,那么高位字节包含了弹出菜单的项数,低位字节则包含与弹出菜单相关联的菜单标志。否则,返回值为下列值的掩码(布尔运算 OR)(该掩码描述了nId指定的菜单项的状态):
·MF_CHECKED与MF_UNCHECKED一起用作开关,在项前放置缺省的检测标记。当应用支持检测标记位图(请参阅SetMenuItemBitmaps成员函数)时,将显示“检测标记打开”位图。
·MF_DISABLED使菜单项无效,以便它不能被选择,但不变灰。
·MF_ENABLED使菜单项有效,以便它能够被选择,并从变灰的状态中恢复出来。注意该常量的值为0。应用在使用该值时,不应将0作为失败。
·MF_GRAYED使菜单项无效,以便它不能被选择,并将其变灰。
·MF_MENUBARBREAK在静态菜单里的新行中或弹出菜单的新列中放置菜单项。新的弹出菜单列与老的菜单列将由垂直分割线分开。
·MF_MENUBREAK在静态菜单里的新行中或弹出菜单的新列中放置菜单项。列与列之间没有分割线。
·MF_SEPARATOR绘制一条水平的分割线。它仅仅能用于弹出菜单项。该线不能变灰、无效或高亮度显示。其它的参数将被忽略。
·MF_UNCHECKED该值的行为如同使用MF_CHECKED来作为一个标记,用于删除项前的检测标记。若应用支持检测标记位图(请参阅SetMenuItemBitmaps成员函数),那么将显示“检测标记关闭”位图。注意该常量的值为0。应用在使用该值时,不应将0认为是失败。

参数:
nID指定了由nFlags决定的菜单项ID号。
nFlags指定了nID的特性,它可以为下列值之一:
·MF_BYCOMMAND指定参数给出已存在的菜单项的命令ID号。此为缺省值。
·MF_BYPOSITION指定参数给出已存在菜单项的位置。第一项的位置是0。

说明:返回弹出菜单中指定菜单项的状态或项数。

请参阅:
::GetMenuState, CMenu::CheckMenuItem, CMenu::EnableMenuItem