MFC技巧一:单文档中将系统菜单栏替换为自己建立的菜单栏(转)

Posted xihong2014

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC技巧一:单文档中将系统菜单栏替换为自己建立的菜单栏(转)相关的知识,希望对你有一定的参考价值。

在我们基于单文档编程的过程中,往往不需要系统自己定义的菜单栏,想自己设定自己需要的菜单栏,因此就需要修改某些参数实现该功能。
方法一:
1、建立好基于单文档工程,在资源中建立自己的菜单栏:IDR_MYMENU;
2、在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);


方法二(孙鑫老师第六课):
1、建立好基于单文档工程,在资源中建立自己的菜单栏:IDR_MYMENU;
2、在OnCreate(...)函数中添加如下代码:

......//去掉系统的菜单

  SetMenu(NULL);

  //添加自己的菜单

  CMenu menu;

  menu.LoadMenu(IDR_MYMENU); 

   //加载自己的菜单

  SetMenu(&menu);

   menu.Detach();   //该函数是用来将菜单句柄与菜单对象分离

  return 0;


原文链接:https://blog.csdn.net/xdhywj/article/details/7787272

以上是关于MFC技巧一:单文档中将系统菜单栏替换为自己建立的菜单栏(转)的主要内容,如果未能解决你的问题,请参考以下文章

mfc创建的单文档菜单栏按钮是灰的

MFC单文档程序的菜单栏怎么修改高度和宽度?

mfc 单文档 多文档 对话框 区别

MFC 多文档和单文档一些问题请教。

MFC应用程序类型

MFC/VC 在多文档MDI程序中 子窗口初始最大化显示 如何去掉菜单栏右侧的最小化及向下还原按钮