如何更改菜单项以选中或取消选中?

时间:2013-10-20 12:24:42

标签: c++ winapi

包含某个项目的菜单,需要将其更改为MF_CHECKEDMF_UNCHECKED 以及如何检查现在检查哪个菜单项?

2 个答案:

答案 0 :(得分:3)

您可以通过调用GetMenuItemInfo来检索其他信息中的检查状态。它填充MENUITEMINFO结构。如果选中菜单项,则fState成员将设置MFS_CHECKED标记。

修改您调用SetMenuItemInfo的菜单项的检查状态。还有一个效用函数CheckMenuItem。文档声明此API调用可能在Windows 2000之后的版本中不可用。但是,它仍然是。

答案 1 :(得分:1)

将菜单状态保存在您自己的变量中是一种直接的解决方案。但您可以使用GetMenuItemInfo()来检索菜单项MENUITEMINFO.fState字段的状态。