以下是 CMenu::GetMenuState 的基本用法:
CMenu myMenu;
// 在这里创建或加载菜单
UINT nItemID = ID_MENU_ITEM; // 替换为你要查询的菜单项的ID
UINT nState = myMenu.GetMenuState(nItemID, MF_BYCOMMAND);
if (nState != 0xFFFFFFFF)
{
// 获取到了菜单项的状态信息
if (nState & MF_DISABLED)
{
// 菜单项被禁用
}
if (nState & MF_CHECKED)
{
// 菜单项被选中
}
// 其他状态判断...
}
在这个例子中,nItemID 是你要查询的菜单项的标识符。MF_BYCOMMAND 表示通过命令标识符查询菜单项的状态。
GetMenuState 返回一个表示菜单项状态的无符号整数,可以通过与 MF_XXX 常量进行位运算来检查相应的状态。例如,MF_DISABLED 表示菜单项被禁用,MF_CHECKED 表示菜单项被选中。
如果 GetMenuState 返回 0xFFFFFFFF,表示未能获取状态信息,可能是由于指定的菜单项不存在。
转载请注明出处:http://www.pingtaimeng.com/article/detail/18952/MFC/CMenu