GetMenuState返回值小问题

ewfc12ewrew 2012-02-29 10:50:35
返回值:如果指定的项不存在,返回值是OXFFFFFFFF;如果菜单项打开了一个子菜单,则返回值的低位含有与菜单相联系的菜单标志,高位含有子菜单的项数。否则,返回值是莱单标志的掩码(布尔OR)。

我想问的是:否则,返回值是莱单标志的掩码(布尔OR)。
是什么意思?
当一个菜单项被选中时,返回的是MF_CHECKED还是MF_UNCHECKED???
...全文
120 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2012-02-29
  • 打赏
  • 举报
回复
[code=C/c++]
// Toggle the check mark for the selected menu item and
// set the font attribute flags appropriately.

fdwMenu = GetMenuState(hmenu, (UINT) bMenuItemID,
MF_BYCOMMAND);
if (!(fdwMenu & MF_CHECKED))
{
CheckMenuItem(hmenu, (UINT) bMenuItemID,
MF_BYCOMMAND | MF_CHECKED);
fbAttributes |= bMenuItemID;
}
else
{
CheckMenuItem(hmenu, (UINT) bMenuItemID,
MF_BYCOMMAND | MF_UNCHECKED);
fbAttributes ^= bMenuItemID;
}

[/code]
  • 打赏
  • 举报
回复
if (MF_CHECKED & GetMenuState(hMenu, id, MF_BYCOMMAND))
{
// menu item with specified id is checked
}

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧