如何设置对菜单项的检查 mfc c++ 我尝试了这个但是,总是未检查菜单项。
CString tcBuff;
CMenu popMenu;
popMenu.LoadMenu(nMenuID);
if (text.Compare(defaultconfig) == 0)
{
tcBuff.LoadStringW(IDC_DEFAULTREMOVE);
popMenu.ModifyMenuW(ID_CONFIGURATION_DEFAULT,0,ID_CONFIGURATION_DEFAULT,tcBuff);
popMenu.CheckMenuItem(IDC_DEFAULTREMOVE, MF_CHECKED || MF_BYCOMMAND);
}
感谢您的帮助。
最佳答案
您需要 |
运算符,而不是 ||
运算符。
您想合并 MF_CHECKED
和MF_BYCOMMAND
位标志,您可以使用按位或运算来完成。这需要 |
运算符。
将您的代码更改为如下所示:
popMenu.CheckMenuItem(IDC_DEFAULTREMOVE, MF_CHECKED | MF_BYCOMMAND);
||
运算符是逻辑 OR 运算符。它实际上给了你这个:
0x8 /* MF_CHECKED */ || 0x0 /* MF_BYCOMMAND */ == 0
这相当于 MF_UNCHECKED
。
关于c++ - 如何设置检查菜单项mfc C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8601556/