[MDI]MDI框架下 获得每个子框架下的任意View的Menu菜单
2015-08-22 23:48
232 查看
MDI的菜单有两个,一个是平时看到的,也就是子框架childframe的菜单menu,
另一个是把所有子框架关掉后的菜单,也可以叫做主框架菜单,
这两个菜单在资源里都可以找得到,当然这两个菜单是不一样的,
用平常的getmenu()的方法获得到的是主框架的菜单,
而子框架的菜单却不好获得,
搜索了很久,才找到解决办法:
我是写在CMainFrame::OnCreate()
POSITION psDocTemp = AfxGetApp()->GetFirstDocTemplatePosition();
while (psDocTemp)
{
CMultiDocTemplate *pDocTemp = (CMultiDocTemplate*)AfxGetApp()->GetNextDocTemplate(psDocTemp);
CMenu* pMenu = CMenu::FromHandle(pDocTemp->m_hMenuShared);
pMenu->ModifyMenu(0, MF_BYPOSITION, 0, _T("文件"));
}
这里用获得到的菜单指针对菜单进行修改。
链接:http://group.gimoo.net/review/7295
还有个问题:
子框架是否是最大化也有个问题,
无最大化时的菜单是正常的,如下图
而最大化时,菜单的第一个位置会多一个东西,
这时以子框架是否最大化来判断菜单的修改位置了。
另一个是把所有子框架关掉后的菜单,也可以叫做主框架菜单,
这两个菜单在资源里都可以找得到,当然这两个菜单是不一样的,
用平常的getmenu()的方法获得到的是主框架的菜单,
而子框架的菜单却不好获得,
搜索了很久,才找到解决办法:
我是写在CMainFrame::OnCreate()
POSITION psDocTemp = AfxGetApp()->GetFirstDocTemplatePosition();
while (psDocTemp)
{
CMultiDocTemplate *pDocTemp = (CMultiDocTemplate*)AfxGetApp()->GetNextDocTemplate(psDocTemp);
CMenu* pMenu = CMenu::FromHandle(pDocTemp->m_hMenuShared);
pMenu->ModifyMenu(0, MF_BYPOSITION, 0, _T("文件"));
}
这里用获得到的菜单指针对菜单进行修改。
链接:http://group.gimoo.net/review/7295
还有个问题:
子框架是否是最大化也有个问题,
无最大化时的菜单是正常的,如下图
而最大化时,菜单的第一个位置会多一个东西,
这时以子框架是否最大化来判断菜单的修改位置了。
相关文章推荐
- POJ2010--Moo University-Financial Aid(二分)
- [BBS]搭建开源论坛之JForum富文本编辑器更换
- UVA - 10816 Travel in Desert(枚举+生成树+最短路)
- CSS/DIV
- [BBS]搭建开源论坛之JForum富文本编辑器更换
- [BBS]搭建开源论坛之JForum富文本编辑器更换
- Git版本控制:Git查阅、撤销文件修改和撤销文件追踪
- JPA的PAI测试
- Git版本控制教程 - Git查阅、撤销修改和版本回退
- windowsphone8.1学习笔记之应用数据(四)
- OC学习日记-继承,多态,私有属性、变量和方法,self,super,属性修饰符,description
- andrid面试题
- andrid面试题
- ios中字符串的一些常见操作
- JPA的api主要类和接口
- andrid面试题
- NOI2004郁闷的出纳员bzoj3503
- 洛谷1434 滑雪
- Aizu - 2555 Everlasting Zero 模拟
- Linux简单命令学习