MFC菜单栏不更新状态AppMsg - Warning: not executing disabled command 32779

MFC创建了一个基于对话框的工程,并且在该对话框中添加了菜单栏,菜单栏有如下需求,有一个用来指示是否显示的下拉菜单,点击的时候切换该菜单的图标和状态。
这样做:
1、首先定义一个用于指示该菜单栏状态的BOOL变量:
在这里插入图片描述
2、其次添加该菜单栏的两个UI处理函数:
在这里插入图片描述
3、给这个菜单附上位图图标:
在这里插入图片描述
希望是运行之后选中和不选中是不一样的图标,但是运行之后点击该菜单栏没反应,并且调试的输出窗口提示:AppMsg - Warning: not executing disabled command 32779。
于是,Goole之,原因如下:
当显示下拉菜单时,WM_INITMENUPOPUP消息在显示菜单项之前发送。MFC CFrameWnd::OnInitMenuPopup函数遍历菜单项并调用项的更新命令UI处理程序(如果有的话)。每个菜单项的外观都会更新以反映其状态(启用/禁用、选中/未选中)。更新UI机制不适用于基于对话框的应用程序,因为CDialog没有OnInitMenuPopup处理程序,它使用CWnd的默认处理程序,后者不为菜单项调用更新命令UI处理程序。
并给出了解决方案:
解决方案
希望能帮到跟我遇到同样问题的小伙伴们!
以上!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值