关于MFC中CMenu::CreateMenu()的疑问!!!

lingshaohumooner 2011-10-26 10:55:11
我是小白,用VS2010创建了一个MFC单文档工程,然后在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)这个函数的最后、return语句前,编写了以下添加菜单选项的代码:

CMenu menu;
menu.CreateMenu();
GetMenu()->AppendMenu(MF_POPUP,(UINT)menu.m_hMenu,"Test");


可是运行break,经过debug,可以发现是在

_AFXWIN_INLINE BOOL CMenu::AppendMenu(UINT nFlags, UINT_PTR nIDNewItem, LPCTSTR lpszNewItem)
{ ASSERT(::IsMenu(m_hMenu)); return ::AppendMenu(m_hMenu, nFlags, nIDNewItem, lpszNewItem); }

处中断,然后发现menu.m_hMenu为NULL。

请问为什么呢?在vs2010中应该如何添加菜单选项呢???

高手求助,谢谢了。
...全文
94 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2011-10-26
  • 打赏
  • 举报
回复
VS2010的是BCG的东西,和之前的不一样的,你的GetMenu()函数返回的指针应该是无效的
oyljerry 2011-10-26
  • 打赏
  • 举报
回复
http://www.pudn.com/downloads231/sourcecode/windows/detail1087450.html
lingshaohumooner 2011-10-26
  • 打赏
  • 举报
回复
非常感谢楼上2位。已经找到资料。。。。

http://blog.csdn.net/zhaoyc_59211/article/details/2050169

http://blog.csdn.net/pcliuguangtao/article/details/5976330
lingshaohumooner 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 visualeleven 的回复:]
VS2010的是BCG的东西,和之前的不一样的,你的GetMenu()函数返回的指针应该是无效的
[/Quote]

这样子?那vs2010中应该怎么做呢?虚心求指教
lingshaohumooner 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 oyljerry 的回复:]
http://www.pudn.com/downloads231/sourcecode/windows/detail1087450.html
[/Quote]

这个貌似是vc6的。。。而且我也没分下。
不过还是感谢你

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧