问题描述
- MFC 多文档程序 怎样 动态切换ToolBar
-
我的应用场合是这样的:
VS10创建的MDI 多文档程序,有2个文档模板,分别对应View1 和View2 两种视图,View1对应工具条ToolBar1 ,View2对应工具条Toolbar2。
我想实现:View1 激活时,显示ToolBar1; View2激活时,显示ToolBar2。目前,我在CChildFrame中响应 WM____CHILDACTIVATE 消息,代码如下:
void CChildFrame::OnChildActivate() { CMDIChildWndEx::OnChildActivate(); // TODO: Add your message handler code here CView* pView = GetActiveView(); if(pView) { CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd(); if(pView->IsKindOf(RUNTIME_CLASS(CWtvView))) pMainFrame->m_wtvToolBar.ShowPane(TRUE, FALSE, FALSE); else pMainFrame->m_wtvToolBar.ShowPane(FALSE, FALSE, FALSE); } }
这个代码在不同的文档模板间,或者是同一文档模板的不同视图间切换是没问题的,但是当 用一个文档模板创建2个视图后,关闭1个视图时, 工具条却隐藏了。
请教各位高手, 要实现我想要的现象,该怎么做?
解决方案
切换多视图(mfc单文档程序)
MFC多文档程序如何关闭子窗体, MDIDestroy();
在单文档程序中动态切换多个窗体(附图)
时间: 2025-01-27 04:01:23