菜单加载的问题,解决问题后发帖再给200分,顶者有分

windywalk windywalk 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请教各位大大:
多文档的框架,
其中一个文档定义:
m_pDocTemplate = new CMultiDocTemplate(
IDR_MDVGPSTYPE,//这个是CChildFrame默认菜单
RUNTIME_CLASS(CMDVSDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CMDVSView));
AddDocTemplate(m_pDocTemplate);
其中class CChildFrame : public CMDIChildWnd

因为各个文档要使用不同的菜单,所以继承改写了class CChildFrame 中LoadFrame函数,

if( !CMDIChildWnd::LoadFrame( nIDResource, dwDefaultStyle, pParentWnd, pContext ) )
{
return FALSE;
}

ASSERT( m_hMenuShared != NULL );

m_ViewNew.CreatePopupMenu();//m_ViewNew等为CMenu对象
m_ViewNew.AppendMenu(MF_ENABLED,ID_MANAGE_CHANGEPASSWORD, " Þ¸ÄÃÜë ");
m_Operate.CreatePopupMenu();
m_Operate.AppendMenu(MF_ENABLED,ID_OPERATE_DIPATCH, "³µÁÈ");

CMenu * pMenu = CMenu::FromHandle(m_hMenuShared);
ASSERT(pMenu!=NULL);
pMenu->RemoveMenu(0,MF_BYPOSITION);
pMenu->RemoveMenu(0,MF_BYPOSITION);
pMenu->InsertMenu(0,MF_BYPOSITION|MF_POPUP,(UINT)m_ViewNew.m_hMenu," ¹Àí ");
/*pMenu->InsertMenu(1,MF_BYPOSITION|MF_POPUP,(UINT)m_Operate.m_hMenu," ²×÷ ");
return TRUE;

结果打开多个视图后,关闭其中一个点击菜单出现错误,请大家帮忙。
问题解决了,再给大家加分。拜谢了............

...全文

相关推荐

评论 13
收藏 已收藏
分享
返回顶部
windywalk
VC/MFC 16,550 成员 421,606 内容