VC++ 2010放这段代码通不过,我看的是孙鑫的教程

GetMenu()->GetSubMenu(4)->CheckMenuItem(0,MF_BYPOSITION|MF_CHECKED);和教程里一样,放在了CMainFr... GetMenu()->GetSubMenu(4)->CheckMenuItem(0,MF_BYPOSITION|MF_CHECKED);
和教程里一样,放在了CMainFram类的OnCreate()方法的末尾。
编译通的过,运行时提示“menu.exe 中的 0x58da905c (mfc100ud.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0x00000004 时发生访问冲突”;
中断后,在出错的那个地方说是“m_hMenCXX0030: 错误: 无法计算表达式的值”
求解!
展开
 我来答
ianynchen
2012-01-13 · TA获得超过117个赞
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:113万
展开全部
快速查看GetMenu()。我怀疑是GetMenu()返回空指针。原因两个:1、0xC0000005通常是空指针错误;2、读取位置0x00000004对应后面的GetSubMenu(4)。
追问
太感谢了!真是是这样,返回的就是NULL。在网上看到别人这样说
“项目为“MFC标准类型”CMainFrame继承自CFrameWnd,
项目类型为非“MFC标准类型”时CMainFrame继承自CFrameWndex,
所以GetMenu()根本无法获得菜单指针,编译时不出现问题,但运行时便出现异常。
如果想使用getmenu()获取菜单指针,只得将项目类型设置为“MFC标准类型”。

在不更改项目属性的情况下,如何获得菜单指针。getmenubar(),我试了不行!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式