设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
CMFCMenuButton的菜单如何获取某个菜单项的check状态 ...
返回列表
发新帖
CMFCMenuButton的菜单如何获取某个菜单项的check状态
[复制链接]
11
|
6
|
2021-1-27 05:14:18
|
显示全部楼层
|
阅读模式
想在主窗口中使用CMFCMenuButton控件实现如下图所示的菜单按钮,需要在用户点击“允许数据采集”菜单项时获取菜单项的选中状态,并改变check状态,使得设置生效。
其中菜单资源文件为IDR_MENU_STORAGE,“允许数据采集”菜单项ID为ID_MENU_ALLOW_STORAGE。
我在窗口的OnInitDialog()中实现如下代码:
//IDR_MENU_STORAGE
CMenu*pMenuStorage=newCMenu;
if(TRUE==pMenuStorage->LoadMenu(IDR_MENU_STORAGE))//载入菜单资源
{
m_menubtn_storage.m_hMenu=pMenuStorage->GetSubMenu(0)->GetSafeHmenu();
}else
{
TRACE("resourceloadfailed!");
}
在按钮响应行数中实现代码如下:
voidCATC_TestSvcDlg::OnBnClickedMfcmenubuttonDatastorage()
{
//TODO:在此添加控件通知处理程序代码
switch(m_menubtn_storage.m_nMenuResult)
{
caseID_MENU_ALLOW_STORAGE:
{
CMenu*pMenu=m_menubtn_storage.GetMenu();
if(pMenu)
{
UINTstate=pMenu->GetMenuState(ID_MENU_ALLOW_STORAGE,MF_BYCOMMAND);
ASSERT(state!=0xFFFFFFFF);
if(state&MF_CHECKED)
pMenu->CheckMenuItem(ID_MENU_ALLOW_STORAGE,MF_UNCHECKED|MF_BYCOMMAND);
else
pMenu->CheckMenuItem(ID_MENU_ALLOW_STORAGE,MF_CHECKED|MF_BYCOMMAND);
}
}
break;
caseID_MENU_..........:
break;
default:
break;
}
在执行点击“允许数据采集”菜单项,获得响应后,在程序执行到红色代码段时,出现异常如图所示:
显示hMenu为unused
这个问题困扰很久,求大神解救
分 -->
回复
使用道具
举报
千问
|
2021-1-27 05:14:18
|
显示全部楼层
感觉是在CMenu*pMenu=m_menubtn_storage.GetMenu();这个地方出了问题,不知道有什么方法可以从CMFCMenuButton对象获取到相应的菜单对象
回复
使用道具
举报
千问
|
2021-1-27 05:14:18
|
显示全部楼层
不是很懂楼主。菜单check状态,是在voidCMainFrame::OnUpdateXX(CCmdUI*pCmdUI)里设置的(根据相关变量)。你直接使用这个相关变量判断就行啦。
回复
使用道具
举报
千问
|
2021-1-27 05:14:18
|
显示全部楼层
原因在你按钮响应的代码里面
//TODO:在此添加控件通知处理程序代码
switch(m_menubtn_storage.m_nMenuResult)
{
caseID_MENU_ALLOW_STORAGE:
{
CMenu*pMenu=m_menubtn_storage.GetMenu();
if(pMenu)
CMenu*pMenu=m_menubtn_storage.GetMenu();就是这句,CMenu类中没有GetMenu()这个成员函数,你这样写肯定是有问题的
如果你要得到主窗口你菜单的指针那就用FromHandle函数,它的功能是:返回一个指向给定Windows菜单句柄的CMenu对象的指针
回复
使用道具
举报
千问
|
2021-1-27 05:14:18
|
显示全部楼层
你这样干太复杂了,一般这样干:直接在你菜单项的点击响应中代码里,给对应的菜单项打check就好了(打对勾有专门的函数),然后使其它的菜单项disable(就是不可选,也有对应的函数)。其它的每个菜单项的点击响应代码中都这样做。但愿你能理解我的意思。
回复
使用道具
举报
千问
|
2021-1-27 05:14:18
|
显示全部楼层
ON_UPDATE_COMMAND_UI()
pCmdUI->Check(TRUE/FALSE);
回复
使用道具
举报
千问
|
2021-1-27 05:14:18
|
显示全部楼层
可能你用菜单的时候,菜单并不存在
用一个内部变量记录状态,弹出菜单的时候更新状态,判断的时候也用内部变量
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
不知道什么发型适合自己?
2
笔记本电脑能刻dvd吗?
3
如何和不认识的女生交流?如何开头?
4
七仙女图片古装漂亮的
5
突然鼠标在桌面上显示不动了.但是鼠标的效果还在,可以继续使用,
6
网页安装说明
7
谁知道八年级物理熔化和凝固动手动脑学物理四题答案
8
如何把自己电脑上的照片在百度贴吧发照片
9
英语体 急求
10
列方程解应用题4
11
广东万科科技集团在中山市的经营状况怎么样?
12
介绍些好看的穿越类文~要完美结局的那种!!
13
高中学历能进网通工作吗?
14
寻求dreamwaver软件序号
15
阿左阿右歌曲
16
三字经为什么好几个版本
17
夜里去北京欢乐谷多少钱?
18
SONY数码照相机DSC-S800有MP4功能吗
19
怎么提高血小板
20
WE11什么时候出?
21
没声音任务栏也不显示(打开控制棉板看声音和音频设备,说我没音频设备)
22
初一上册英语单词表 第七单元的
23
关于汉字的典故,有谁知道,是典故哦
24
我爱他,他不爱我,怎么办?
25
声卡安装后仍然没用,好像没安装一样.
26
谁帮我看看这样的配置,能不能不卡玩<卓越之劒>
27
帮我翻译一下这首诗吧!谢谢大家了~~~
28
光棍节应该怎么过啊
29
模拟人生2怎么出家门去别的地方
30
在武汉做置业顾问
31
谁有谭咏麟90年代以前的老歌下载地址或者全部歌曲
32
水浒Q传剑客的技能到那里学?
33
hp v3609 的本本不动恢复盘的东西 在c盘装xp系统行吗
34
hkcu是什么
35
黄鹤楼的赏析,快!!!!!
36
DOS系统中盘丢失怎么办?
37
女,农历1981年9月16日辰时出生的命运如何
38
脑积水有得治吗
39
求!无间道上海搞笑版连接地址
40
帮忙配个玩游戏的 显卡主板CPU三个准备1200RMB
41
索爱Walkman手机有没有一款是支持mp4播放的?
42
女人回答:女人能分清爱一个挖到底有多深吗~~~
43
求15世纪关于航海的职务名称以及职务解释
44
2007.11.4.13点15分出生女孩起个名字
45
社交困惑
46
求奥斯卡电影《爱情失窃事件》主题曲《爱你所爱》的英文歌词
47
上海哪有卖冰糖杨梅 冰糖山查的地方 要正宗点的
48
谈谈你们对格瓦拉的理解,能说清楚自己喜欢他的原因吗?
49
赠送的彩铃可以换掉吗?
50
徳鲁伊 加出自然迅捷省下全野/全野的两种哪个PK厉害
51
早餐店上的猪肉面汤底
52
亚铁盐是什么
53
请高手看看我的电脑怎么样?“家用”的话这样配置可以吗?价格在什么价位?
54
求两句日语的翻译
55
宁波哪有卖可以自己做护理的电热帽
56
恕我愚.听说最近公务员考试出现变动,如有,它作了什么改变呢?
57
想买个5000—7000的本本大家给个配制单
58
电风扇台套着铁网的东西断,怎么办
59
运行IE的时候,出现QuickNews对话框,说"Access violation. ...."
60
华南农业大学
61
描写春景的优美句子
62
美白面部
63
阿根廷军政府统治时期的相关信息?
64
这个男人让我无话可说,只能泪流满面…
65
三星SGH—E848港水好还是欧水好
66
清秀,有型,可爱和帅有什么区别呢?哪一个比较吃香和受欢迎?
67
跪求!翻译。
68
水浒cdkey要能用的,最新的,2007年11月8号出的
69
想找一部很旧的港产片
70
正方形ABCD内有一点E连接AE BE CE DE求证三角形为正三角形
71
请问大熊猫是不是行走动物?还是爬行动物呢
72
我电脑右下角的瑞星伞没了;我是下载的80版的;免费的;是到期了吗?没有那个伞正常吗?
73
有谁收到芳草青春版杂志社的奖品吗
74
帮我翻译下这个话!比较急
75
能不能同时报考两个省的公务员?
76
(男友)老公爱说脏话爱发脾气,怎么办?
77
我国历史上最强烈地震为?
78
摄像头驱动安装了不能使用
79
光影魔术手怎么放俩个图片
80
口袋妖怪绿宝石386中文版里,大师球是不是什么神奇宝贝都一定抓得到啊?
81
那些东西不好放到冰箱里?
82
帮忙查下EMS
83
怎么办///
84
VC++6.0 错误 求助
85
同义句转换
86
三字经其中一句是丝与竹还是与丝竹?
87
五菱之光6371C和新众泰20081.3还有长安CM81.3哪个好?
88
帮我算算CAD2006激活码,在线等!
89
请问怎样才能学好高中的英语?救命啊``
90
下巴长了个包
91
通过检验尿液能辨认性别吗?
92
请问从上海交大到徐汇中学怎么走?需要多少时间?
93
究竟该怎么考试
94
有一个出租屋的问题,评论一下
95
小说开头的楔子应怎样写?
96
想请问下手机收短信慢是怎么回事?
97
上海淮海路附近治疗癌症中医
98
跑跑熊猫车怎么连喷不起来啊