在MDI程序中实现类似WPS2000的文件切换标签
2010-06-15 20:40:03 来源:WEB开发网四、实现文件切换。
1、在MainFrm.h文件加入:#include "ViewManager.h"
2、为类CMainFrame加入公有成员变量: public:
CViewManager m_ViewManager;
3、在视类TabMDIDemoView.cpp文件中加入:#include "MainFrm.h"
4、重载视类的OnInitialUpdate()函数,编辑如下:
void CTabMDIDemoView::OnInitialUpdate()
{
CView::OnInitialUpdate();
//取得文档标题及视指针并加入到视管理器数组及tab控件中
CMDIDialogbarDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString cs=pDoc->GetTitle();
((CMainFrame*)AfxGetMainWnd())->m_ViewManager.AddView(cs,this);
}
5、在视类的析构函数中加入以下代码:
CTabMDIDemoView::~CTabMDIDemoView()
{
((CMainFrame*)AfxGetMainWnd())->m_ViewManager.RemoveView(this);
}
6、重载视类的OnActivateView()函数,编辑如下:
void CTabMDIDemoView::OnActivateView(BOOL bActivate,
CView* pActivateView,
CView* pDeactiveView)
{
// TODO: Add your specialized code here and/or call the base class
((CMainFrame*)AfxGetMainWnd())->m_ViewManager.OnActivateView(bActivate, this);
CView::OnActivateView(bActivate, pActivateView, pDeactiveView);
}
五、编译
本文配套源码
更多精彩
赞助商链接