社区
界面
帖子详情
GetMenu()->GetSubMenu(0)用法
warren258
2011-04-24 08:42:19
我在MainFrm.cpp 的oncreate末尾添加
GetMenu()->GetSubMenu(0)->CheckMenuItem(0, MF_BYPOSITION | MF_CHECKED);
程序一运行就出错(编译无错误,可运行 ,但是崩溃) 这个问题wgf4242发过贴,他解决后结了贴,不知道他是怎么解决的?求wgf4242发方法,也求其他大牛也来帮忙。
...全文
1105
17
打赏
收藏
GetMenu()->GetSubMenu(0)用法
我在MainFrm.cpp 的oncreate末尾添加 GetMenu()->GetSubMenu(0)->CheckMenuItem(0, MF_BYPOSITION | MF_CHECKED); 程序一运行就出错(编译无错误,可运行 ,但是崩溃) 这个问题wgf4242发过贴,他解决后结了贴,不知道他是怎么解决的?求wgf4242发方法,也求其他大牛也来帮忙。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
grasshopperwarbler
2011-04-28
打赏
举报
回复
我之前也有相似的问题,后面发现是MenuBar的问题。也就是说,Menu不存在。
如果楼主用的是2008或2010的话,你可以看看这个链接,里面说了解决方法.
http://blog.csdn.net/grasshopperwarbler/archive/2011/04/21/6337754.aspx
warren258
2011-04-28
打赏
举报
回复
这个问题好像是跟2010有关。。。
warren258
2011-04-28
打赏
举报
回复
用的是vs2010,崩溃就是编译没错误,一执行(ctrl+f5)就是menu已停止工作,然后就是3个选项,一个联机检查;一个关闭程序;一个调试程序。
warren258
2011-04-28
打赏
举报
回复
谢谢16楼提供的页面,问题解决了。。。也谢谢各位大牛。结贴了。
向立天
2011-04-27
打赏
举报
回复
[Quote=引用 9 楼 warren258 的回复:]
不在oncreate中操作?postMessage一个消息,这样有区别吗?
[/Quote]当然有
在oncreate里有些东西可能没有准备好
postMessage的msg会排在消息队列里
等到执行他的时候窗口应该已经准备好了
maqiliang
2011-04-26
打赏
举报
回复
[Quote=引用 11 楼 wang471981125 的回复:]
引用楼主 warren258 的回复:
我在MainFrm.cpp 的oncreate末尾添加
GetMenu()->GetSubMenu(0)->CheckMenuItem(0, MF_BYPOSITION | MF_CHECKED);
程序一运行就出错(编译无错误,可运行 ,但是崩溃) 这个问题wgf4242发过贴,他解决后结了贴,不知道他是怎么解决的?求wgf4242发方法,也求其他大……
[/Quote]
错误也贴出来
Wang471981125
2011-04-26
打赏
举报
回复
[Quote=引用楼主 warren258 的回复:]
我在MainFrm.cpp 的oncreate末尾添加
GetMenu()->GetSubMenu(0)->CheckMenuItem(0, MF_BYPOSITION | MF_CHECKED);
程序一运行就出错(编译无错误,可运行 ,但是崩溃) 这个问题wgf4242发过贴,他解决后结了贴,不知道他是怎么解决的?求wgf4242发方法,也求其他大牛也来帮忙。
[/Quote]
你所谓的崩溃是指?具体些
haogeai123
2011-04-26
打赏
举报
回复
你用的是vs2008 SP1以上版本的编译环境么??
warren258
2011-04-26
打赏
举报
回复
不在oncreate中操作?postMessage一个消息,这样有区别吗?
疯狂-的-蜗牛
2011-04-25
打赏
举报
回复
这样试试:GetMenu()->GetSubMenu(0)->CheckMenuIte(你的菜单项ID,MF_BYCOMMAND|MF_CHECKED);
走走刀口
2011-04-25
打赏
举报
回复
资源->Insert->选择Menu,然后随便加几个菜单项,这个应该是第0个菜单
warren258
2011-04-25
打赏
举报
回复
第0个菜单根本不存在? 不是都是从0开始的不?标准的mfc程序啊。
向立天
2011-04-25
打赏
举报
回复
不要在OnCreate里操作
在OnCreate里PostMessage一个消息
在这个消息执行这些代码试试
winning11xuhao
2011-04-25
打赏
举报
回复
CMenu* pMenu = GetMenu();
CMenu *pSubMenu = pMenu->GetSubMenu(0);
这个0是指你的子菜单是你菜单的第几个
warren258
2011-04-25
打赏
举报
回复
用开单id替换那个0,还是一样的啊。
xengine-qyt
2011-04-24
打赏
举报
回复
GetSubMenu(0) 你看看菜单 是不是第0个菜单 还是你第0个菜单根本不存在
快乐鹦鹉
2011-04-24
打赏
举报
回复
代码不要这么连着写。先GetMenu()得到返回值,看是否为空,再GetSubMenu(0),看返回是否为空
Get
Menu
()->Get
Sub
Menu
(0) 致使程序崩溃的解决方法
如果我们使用孙鑫的《VC++ 深入详解》,学到菜单这一章,就可以发现有这样一段程序。 int CMainFrame::OnCreate(LPCREATESTRUCT) 函数中有下面这句: Get
Menu
() -> Get
Sub
Menu
(0) -> Check
Menu
Item(0, MF_BYPOSITION | MF_CHECKED); 语句的功能是设置 【文件】菜单下【新
VS2010返回失败,Get
Menu
()->Get
Sub
Menu
(0)
根据孙鑫的MFC教程,lesson-6,获得菜单栏 VC6.0 用到一个:Get
Menu
()->Get
Sub
Menu
(0)->Check
Menu
Item(0, MF_BYPOSITION | MF_CHECKED); VS2010,到这里就崩溃,因为Get
Menu
()得到的指针为空。 根据网上找到的解决方案: 方案一: 把Mainfrm.h mainfrm.cpp中的关...
VS2010中Get
Menu
()->Get
Sub
Menu
(0)导致程序崩溃的解决方法
初学MFC,用的是孙鑫老师的教程,在学到lesson6—菜单yi'zhang
Visual Studio 2010中Get
Menu
()和Get
Sub
Menu
(0)引发异常的一个简单解决方法
转自:http://blog.csdn.net/grasshopperwarbler/article/details/6337754 这里说的是SDI的情况,如果在vs2010里面按着默认选项创建一个单文档工程, 然后想做一件事情 ,就是把一个默认的子菜单的一项钩选, 代码如下 : Get
Menu
()->
VS2015MFC基于单文档的菜单基本操作常见问题
为啥按照下面这段代码复选标记和其他操作无法进行 Get
Menu
()->Get
Sub
Menu
(0)->Check
Menu
Item(0,MF_BYPOSITION | MF_CHECKED) 切记版本问题!!!!! 孙鑫的那本书上的代码是基于VC6.0进行开发的而我们一般都是在VS上进行操作的,所以会出现问题我们可以看到在VS上和VC上的菜单栏是不一样的 解决办法 在选择工程时,按照下面的勾选进行选择,主要选中MFC标准及传统菜单 ...
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章