VS2008-MFC框架视图程序,在子窗口中修改菜单无效

activexme activexme 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
环境:VS2008 SP1
框架:MFC Feature Pack for Visual C++ 2008

默认菜单

重载了CChildFrame::OnUpdateFrameMenu,
代码如下:
void CChildFrame::OnUpdateFrameMenu(BOOL bActive, CWnd* pActiveWnd, HMENU hMenuAlt)
{
// TODO: 在此添加专用代码和/或调用基类
TRACE("OnUpdateFrameMenu\n");

CMenu* mu = CMenu::FromHandle(hMenuAlt);
mu->AppendMenu(MF_STRING, ID_EDIT_PASTE, L"test");

CMDIChildWndEx::OnUpdateFrameMenu(bActive, pActiveWnd, hMenuAlt);
}

结果编辑,视图,窗口项菜单都不出来了
效果如下:


后来换成CMFCMenuBar试。
代码如下:
void CChildFrame::OnUpdateFrameMenu(BOOL bActive, CWnd* pActiveWnd, HMENU hMenuAlt)
{
// TODO: 在此添加专用代码和/或调用基类
TRACE("OnUpdateFrameMenu\n");

//CMenu* mu = CMenu::FromHandle(hMenuAlt);
CMFCMenuBar mb;
mb.CreateFromMenu(hMenuAlt);
mb.InsertButton(CMFCToolBarMenuButton(0, NULL, -1, L"test"));

CMDIChildWndEx::OnUpdateFrameMenu(bActive, pActiveWnd, hMenuAlt);
}

这回编辑,视图,窗口子项到是出来了,但是手动添加的test仍然不出来。
效果如下:
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
activexme
界面 15,976 成员 115,866 内容