.先准备一个Dialog, 设置style=Child, Border=None; 建立对应的Dialog类(CDlgRuleLst);
.在CDocument的事件响应中切换CView视图;
CFrameWndEx *pMainWnd = (CFrameWndEx *)AfxGetMainWnd();
CView *pOldView = pMainWnd->GetActiveView();
CRuntimeClass *pNewViewClass = RUNTIME_CLASS(CDlgRuleLst);
if( pOldView->IsKindOf(pNewViewClass) )
return;
::SetWindowLong(pOldView->m_hWnd, GWL_ID, 0);
CCreateContext context;
context.m_pNewViewClass = pNewViewClass;
context.m_pCurrentDoc = this;
CView* pNewView = STATIC_DOWNCAST(CView, pMainWnd->CreateView(&context));
if (pNewView != NULL)
{
{ //PerInitiazing...
//CDlgRuleLst *pdlg = dynamic_cast<CDlgRuleLst *>(pNewView);
//pdlg->setInOut(true);
}
// the new view is there, but invisible and not active...
pNewView->ShowWindow(SW_SHOW);
pNewView->OnInitialUpdate();
pMainWnd->SetActiveView(pNewView);
pMainWnd->RecalcLayout();
// destroy the old view...
pOldView->DestroyWindow();
}