您的位置:首页 > 其它

[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

还有个问题:

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

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



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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: