MDI框架程序,一个文档的多个视图对应各自不同的菜单资源。比如CMyDocument下设计有两个View:
CView1 -> menu1
CView2 -> menu2如何实现?谢谢!
CView1 -> menu1
CView2 -> menu2如何实现?谢谢!
解决方案 »
- MFC或WIN32下用什么做界面好啊?
- IXMLHTTPRequest 异步问题
- 一元函数或实验数据图形分析工具FcCurve发布及开发源代码纯Win32源程序下载
- 怎样由可执行文件a.exe和数据文件b生成另一个可执行文件(c.exe)?
- ace的问题,如何发数据
- 如何得到一个控件自身的句柄
- 关于网页中的Activex控件的右键菜单问题
- 有没有人用过软件狗的它只能加密exe和dll文件。我如何加密我的程序,实现程序只在安装时收到狗保护?急
- VC6 老否?还能用来开发C/S餐饮管理软件吗
- SubClassDlgItem(...) 是个什么东东??
- 局域网内 如何发送文档? VC
- 交换机计费软件开发价格咨询
方法一:问】如何动态改变菜单?
答】
1
CMenu cMenu;
//调用新的以IDR_NEWMENU表示的菜单资源;
cMenu.LoadMenu(IDR_NEWMENU);
//将cMenu设置为当前菜单;
SetMenu(&cMenu);
//释放菜单句柄
cMenu.Detach();
//重画菜单条;
DrawMenuBar();
//重新绘制窗口区域;
RecalcLayout(TRUE);
2
//装载菜单资源:
m_Menu.LoadMenu(IDR_MENU_REPORT);
//销毁原菜单:
this->SetMenu(NULL);
::DestroyMenu(this->m_hMenuShared); //m_hMenuShared指框架主菜单 m_hMenuDefault视图菜单
//设置新的菜单:
this->SetMenu(&m_Menu);
this->m_hMenuShared = m_Menu.GetSafeHmenu();
//重画菜单条
this->DrawMenuBar();方法二:
重载CDocument::GetDefaultMenu()