VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 295|回复: 2

[已解决]MFC 菜单栏 选中标记

[复制链接]
74_avatar_middle
最佳答案
1 
在线会员 发表于 2021-1-16 20:07:15 | 显示全部楼层 |阅读模式
MFC 菜单栏 选中标记

就像上边那样,明明点击了,但是标记消不掉。我在网上找了各种代码也没用。
以下是我现在用的代码。请帮忙解决一下,谢谢!

  1. void CDeleterDlg::OnUpdateMenuViewB(CCmdUI *pCmdUI)
  2. {
  3.         // TODO: 在此添加命令更新用户界面处理程序代码
  4.         BCheck = !BCheck;
  5.         v_lstView.DeleteAllItems();

  6.         HANDLE hThread = CreateThread(NULL, 0, GetHistory, this, 0, NULL);
  7.         CloseHandle(hThread);

  8.         //pCmdUI->SetCheck(ACheck);
  9.         CMenu* menu = GetMenu()->GetSubMenu(1);
  10.         menu->CheckMenuItem(ID_MenuViewB, MF_UNCHECKED);
  11. }
复制代码
最佳答案
19_avatar_small
2021-1-16 21:44:03
本帖最后由 236a 于 2021-1-16 21:52 编辑

视图哪个索引应该是从0开始的
CMenu* menu = GetMenu()->GetSubMenu(0);
menu->CheckMenuItem(0, MF_UNCHECKED);//这个是视图下面的子项(最近...文件)
或者
menu->CheckMenuItem(1, MF_UNCHECKED);//这个是视图下面的子项(最近...方案)

取消选中时 获取菜单的索引 最好加个判断  




上一篇:这个get请求回来的怎么和网页上看到的不一样哎
下一篇:求大佬分享下这篇帖子的API帮助文档!
19_avatar_middle
最佳答案
12 
在线会员 发表于 2021-1-16 21:44:03 | 显示全部楼层    本楼为最佳答案   
bestAnswer
本帖最后由 236a 于 2021-1-16 21:52 编辑

视图哪个索引应该是从0开始的
CMenu* menu = GetMenu()->GetSubMenu(0);
menu->CheckMenuItem(0, MF_UNCHECKED);//这个是视图下面的子项(最近...文件)
或者
menu->CheckMenuItem(1, MF_UNCHECKED);//这个是视图下面的子项(最近...方案)

取消选中时 获取菜单的索引 最好加个判断  
74_avatar_middle
最佳答案
1 
ico_lz  楼主| 发表于 2021-1-16 21:59:21 | 显示全部楼层
236a 发表于 2021-1-16 21:44
视图哪个索引应该是从0开始的
CMenu* menu = GetMenu()->GetSubMenu(0);
menu->CheckMenuItem(0, MF_UNCH ...

谢谢,解决了,还真是因为索引问题,没太注意,抱歉。那个代码只是我测试能不能取消勾的,实际好了我会加上的,谢谢!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2021-2-26 00:01

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表