[Windows]MFC单文档实现菜单切换

我们在加载单文档主界面时找到如下代码,当然可以在解决方案中寻找IDR_MAINFRAME,以确定其位置

  // 注册应用程序的文档模板。文档模板
	// 将用作文档、框架窗口和视图之间的连接
	CSingleDocTemplate* pDocTemplate;
	pDocTemplate = new CSingleDocTemplate(
		IDR_MENU_LOGIN,
		RUNTIME_CLASS(CNotesRecDoc),
		RUNTIME_CLASS(CMainFrame),       // 主 SDI 框架窗口
		RUNTIME_CLASS(CNotesRecView));
	if (!pDocTemplate)
		return FALSE;
	AddDocTemplate(pDocTemplate);
其中IDR_MENU_LOGIN在初始化时为IDR_MAINFRAME,此段代码一般在所在解决方名称的cpp中,即Application.cpp
这是我们的第一个进入的菜单
当实现菜单切换时我们在资源视图中创建一个新的菜单,修改其ID,在初始菜单的某个菜单项中添加事件响应函数
添加如下代码:
            //去掉系统的菜单  
			SetMenu(NULL);  
			
			CMenu menu;
	        //加载功能主菜单
			menu.LoadMenu(IDR_MAINFRAME);
			AfxGetMainWnd()->SetMenu(&menu);
			AfxGetMainWnd()->DrawMenuBar();
			menu.Detach();
其中IDR_MAINFRAME是需要切换的ID号,这样就实现了菜单的切换

 
工程代码:https://github.com/SalamanderJY/MenuSwitch 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值