我做的是一个多文档浏览器,然后在mainframe类中的OnCreat()函数中,我想获取主框架的菜单中“收藏”这一菜单项:m_pMenu =GetMenu()->GetSubMenu(3);
然后就遇到了个问题:只要是有一个或多个子窗口打开着,那么点击“收藏”后却什么收藏内容也没有,然后关闭所有子窗口,再点“收藏”那么所有的收藏的内容就都出来了。这是为什么呢。
(我认为在打开子窗口的时候点击“收藏”弹出来的菜单是子窗口的菜单,但不知道怎么解决。)
然后就遇到了个问题:只要是有一个或多个子窗口打开着,那么点击“收藏”后却什么收藏内容也没有,然后关闭所有子窗口,再点“收藏”那么所有的收藏的内容就都出来了。这是为什么呢。
(我认为在打开子窗口的时候点击“收藏”弹出来的菜单是子窗口的菜单,但不知道怎么解决。)
那就做成一个菜单
就是主窗口和子窗口共用一个菜单
添加如下代码
int CChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIChildWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if(lpCreateStruct->hMenu)
{
lpCreateStruct->hMenu=NULL;
DestroyMenu(lpCreateStruct->hMenu);
SetMenu(NULL);
}
// TODO: Add your specialized creation code here
return 0;
}删除资源里子窗口的 菜单ID