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

来源:互联网 发布:mac无法导入手机照片 编辑:程序博客网 时间:2024/05/21 08:55

问题:

   使用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); 

原创粉丝点击