[MDI]MDI框架下 获得每个子框架下的任意View的Menu菜单

来源:互联网 发布:android淘宝分类菜单 编辑:程序博客网 时间:2024/06/05 04:25

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

还有个问题:

子框架是否是最大化也有个问题,

无最大化时的菜单是正常的,如下图


而最大化时,菜单的第一个位置会多一个东西,

这时以子框架是否最大化来判断菜单的修改位置了。


0 0