社区
界面
帖子详情
GetMenu()->GetSubMenu(0)用法
warren258
2011-04-24 08:42:19
我在MainFrm.cpp 的oncreate末尾添加
GetMenu()->GetSubMenu(0)->CheckMenuItem(0, MF_BYPOSITION | MF_CHECKED);
程序一运行就出错(编译无错误,可运行 ,但是崩溃) 这个问题wgf4242发过贴,他解决后结了贴,不知道他是怎么解决的?求wgf4242发方法,也求其他大牛也来帮忙。
...全文
1046
17
打赏
收藏
GetMenu()->GetSubMenu(0)用法
我在MainFrm.cpp 的oncreate末尾添加 GetMenu()->GetSubMenu(0)->CheckMenuItem(0, MF_BYPOSITION | MF_CHECKED); 程序一运行就出错(编译无错误,可运行 ,但是崩溃) 这个问题wgf4242发过贴,他解决后结了贴,不知道他是怎么解决的?求wgf4242发方法,也求其他大牛也来帮忙。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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),看返回是否为空
vc++ MFC菜单编程
例如,添加对号标记可以使用 Get
Menu
()->Get
Sub
Menu
(0)->Check
Menu
Item(0,MF_BYPOSITION | MF_CHECKED ); 方法或 Get
Menu
()->Get
Sub
Menu
(0)->Check
Menu
Item(ID_FILE_NEW,MF_BYCOMMAND | MF_CHECKED ); 方法。设置...
学习VC++的编程经验
Get
Menu
()->Get
Sub
Menu
(0)->Insert
Menu
(ID_FILE_OPEN, MF_BYCOMMAND | MF_STRING, 118, "LongliSoft"); // 删除菜单项 Get
Menu
()->Delete
Menu
(1, MF_BYPOSITION); Get
Menu
()->Get
Sub
Menu
(0)->Delete
Menu
(2, MF_...
Visual C++实践指导教程习题答案
动态添加菜单项的步骤:首先定位待添加的菜单项,`GetParent()`函数用于获得当前窗体,`pParent->Get
Menu
()`与`p
Menu
->Get
Sub
Menu
(1)`用于获得当前窗体的菜单及待添加菜单项,`Append
Menu
`用于执行自动添加菜单项的...
mfc菜单编辑
例如,`m_btmap.LoadBitmap(IDB_BITMAP1)`加载位图资源,然后通过`Get
Menu
()->Get
Sub
Menu
(0)->Set
Menu
ItemBitmaps`设置位图到指定的菜单项上。在设置位图前,可以使用`GetSystemMetrics(SM_CX
MENU
CHECK), ...
创建 菜单图标 资料
最后,通过调用`Get
Menu
()->Get
Sub
Menu
(0)->Set
Menu
ItemBitmaps`方法将加载好的位图设置到菜单项上。这里设置的是菜单的第一个子菜单的第一项,并且同时设置了正常状态和选中状态的位图。 - **`Get
Menu
()`**:获取...
界面
15,978
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章