您的位置:首页 > 其它

关于VS2010 MFC菜单替换的问题??

2017-08-27 20:58 399 查看
问题:

   使用VS2010中文版,建立基于单文档的MFC,使用书籍《Visual C++ 2010开发权威指南.尹成P112》,使用自己的菜单替换系统菜单??

实现

代码:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

                               ..............................

        CMenu menu;
menu.LoadMenu(IDR_MYMENU);
this->SetMenu(&menu);

                               ..............................

       return 0;

}

执行之后,有Debug

在网上找了两个解释,但是不知为何都没有解决(系统的菜单没有替换),也许是我安装软件本身的问题??

首先:建立好基于单文档工程,在资源中建立自己的菜单栏:IDR_MYMENU;

两个方法:



方法一:

代码:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

                               ..............................

        CMenu menu;
menu.LoadMenu(IDR_MYMENU);
this->SetMenu(&menu);

                               ..............................

       return 0;

}

方法二:

 在CXXApp中的InitInstance()做如下修改

CSingleDocTemplate* pDocTemplate;  

pDocTemplate = new CSingleDocTemplate(  

IDR_MYMENU,                      //在此处将系统的IDR_MAINFRAME改为:IDR_MYMENU  

RUNTIME_CLASS(CVIEWDoc),  

RUNTIME_CLASS(CMainFrame),       // main SDI frame window   RUNTIME_CLASS(CVIEWView));  

AddDocTemplate(pDocTemplate); 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: