VS2010中CMainFrame::OnCreate()函数里用GetMenu()无法获取菜单指针
2011-12-11 21:28
351 查看
今天学习VC++ 2010 MFC单文档应用程序中动态添加菜单,下面是代码部分:
但是GetMenu()返回始终未NULL,无法获取菜单指针,网上查了下,说VS2010建的SDI/MDI与之前的不一样,是类似BCG的一些东西,所以用之前的方法GetMenu()得到CMenu是NULL或者无效。
【解决方案】
在CMainFrame类中找到CMFCMenuBar m_wndMenuBar;这个成员变量,将跟它相关的代码注释掉的话,然后运行,OK。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { ...... CMenu m_Menu; m_Menu.CreatePopupMenu(); ASSERT(m_Menu.GetSafeHmenu()); GetMenu()->AppendMenuW(MF_POPUP,(UINT)m_Menu.m_hMenu,_T("文件")); m_Menu.AppendMenuW(MF_STRING,111,_T("新建")); m_Menu.AppendMenuW(MF_STRING,112,_T("打开")); m_Menu.Detach(); return 0; }
但是GetMenu()返回始终未NULL,无法获取菜单指针,网上查了下,说VS2010建的SDI/MDI与之前的不一样,是类似BCG的一些东西,所以用之前的方法GetMenu()得到CMenu是NULL或者无效。
【解决方案】
在CMainFrame类中找到CMFCMenuBar m_wndMenuBar;这个成员变量,将跟它相关的代码注释掉的话,然后运行,OK。
相关文章推荐
- VS2010中CMainFrame::OnCreate()函数里用GetMenu()无法获取菜单指针
- 使用skin++后如何利用GetMenu获取菜单指针
- 关于vc++2010中无法通过GetMenu()获得菜单指针
- QP实现之函数指针数组无法获取正确地址的问题
- MFC中App,Doc,MainFrame,View各指针的互相获取(转)
- 关于VS2010 转到函数定义无响应 以及MFC项目双击控件无法跳转到响应函数解决方法
- B继承自A,A指针无法隐式转换为B指针,函数参数只管指针类型,与实际指向对象无关
- C和指针之动态内存分配之(编写calloc函数,函数内部使用malloc函数来获取内存)
- C++获取类成员函数的指针
- MFC中获取App,MainFrame,Doc和View类等指针的方法
- vs2010默认采用的是增加了扩展功能的Menu,所以调用GetMenu()会得到空指针
- php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
- 获取C++类中的虚函数表的指针和虚函数表中函数的指针
- 函数局部变量造成的野指针问题(编译器VS2010)
- js函数嵌套调用,无法获取函数返回值
- jsonp使用jsonpCallback回执函数无法获取后台response
- VS2010获取dll中的函数列表
- linux xfs文件系统无法用readdir获取dirent文件类型d_type则用stat获取暨stat函数讲解
- B继承自A,A指针无法隐式转换为B指针,函数参数只管指针类型,与实际指向对象无关
- 获取虚函数指针