原文出处:http://blog.csdn.net/xdhywj/article/details/7787272
在我们基于单文档编程的过程中,往往不需要系统自己定义的菜单栏,想自己设定自己需要的菜单栏,因此就需要修改某些参数实现该功能。
方法一:
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);
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;
......
//去掉系统的菜单
SetMenu(NULL);
//添加自己的菜单
CMenu menu;
menu.LoadMenu(IDR_MYMENU); //加载自己的菜单
SetMenu(&menu);
menu.Detach(); //该函数是用来将菜单句柄与菜单对象分离
return 0;