vs2010用MFC添加菜单问题
CMenumenu;menu.CreatePopupMenu();GetMenu()->AppendMenu(MF_POPUP,(UINT_PTR)menu.m_hMen...
CMenu menu;
menu.CreatePopupMenu();
GetMenu()->AppendMenu(MF_POPUP,(UINT_PTR)menu.m_hMenu,_T("Show")); //error可能是由于menu指针的问题
menu.Detach();
错误提示是:menu2.exe 中的 0x591f9cdc (mfc100ud.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0x00000004 时发生访问冲突。
我觉得问题应该是在GetMenu()->AppendMenu(MF_POPUP,(UINT_PTR)menu.m_hMenu,_T("Show"));
我原来一直是控制台程序,才开始学WINDOWS编程,这是我看MFC教程里面的,代码基本上是原封不动的搬过来的,但是在编译环境应该是在VC6.0的,在VS2010就不行了。我看了下GetMenu()在VS2010中是一个CONST函数,我想请问是这里的问题吗?如果不是,那又是什么问题呢?代码是放在CMainFrame的OnCreate()里面的,我想在菜单中添加一个弹出子菜单又该怎么做呢?谢谢!没分了,有了我追加~拜托了! 展开
menu.CreatePopupMenu();
GetMenu()->AppendMenu(MF_POPUP,(UINT_PTR)menu.m_hMenu,_T("Show")); //error可能是由于menu指针的问题
menu.Detach();
错误提示是:menu2.exe 中的 0x591f9cdc (mfc100ud.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0x00000004 时发生访问冲突。
我觉得问题应该是在GetMenu()->AppendMenu(MF_POPUP,(UINT_PTR)menu.m_hMenu,_T("Show"));
我原来一直是控制台程序,才开始学WINDOWS编程,这是我看MFC教程里面的,代码基本上是原封不动的搬过来的,但是在编译环境应该是在VC6.0的,在VS2010就不行了。我看了下GetMenu()在VS2010中是一个CONST函数,我想请问是这里的问题吗?如果不是,那又是什么问题呢?代码是放在CMainFrame的OnCreate()里面的,我想在菜单中添加一个弹出子菜单又该怎么做呢?谢谢!没分了,有了我追加~拜托了! 展开
2个回答
展开全部
vs2010的菜单栏类型是cmfcmenubar,跟以前的cmenu不一样,所以用getmenu()获取的是空值。详情见:http://social.msdn.microsoft.com/Forums/zh-CN/visualcpluszhchs/thread/b0c59097-ed5f-48a0-a04e-2fc684d1fc7a/。
解决方法:删掉m_wndMenuBar的相关代码后即可。
解决方法:删掉m_wndMenuBar的相关代码后即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询