参考如下代码,这是我切换几个视的代码。
CFormView *pOldView = g_pFormView; CRawFormView *pRawFormView = NULL;
CLogicFormView *pLogicFormView = NULL;
CFormLineView *pFormLineView = NULL;
CFormOCRView *pFormOCRView = NULL;
CCreateContext context; context.m_pCurrentDoc = pOldView->GetDocument ();
switch(p_nNum)
{
case 1:
{
pRawFormView = (CRawFormView*)GetDlgItem(IDD_RAWFORM);
if(pRawFormView == NULL)
{
pRawFormView = (CRawFormView *) new CRawFormView;
}
pRawFormView->Create (NULL,NULL,WS_CHILD,CFrameWnd::rectDefault ,this,IDD_RAWFORM,&context);
pRawFormView->OnInitialUpdate ();
SetActiveView(pRawFormView);
pRawFormView->ShowWindow (SW_SHOW);
pOldView->ShowWindow (SW_HIDE);
pRawFormView->SetDlgCtrlID (AFX_IDW_PANE_FIRST);
RecalcLayout();
}
break;
case 2:
{
pFormLineView = (CFormLineView*)GetDlgItem(IDD_FORMLINE);
if(pFormLineView == NULL)
{
pFormLineView = (CFormLineView *) new CFormLineView;
}
pFormLineView->Create (NULL,NULL,WS_CHILD,CFrameWnd::rectDefault ,this,IDD_FORMLINE,&context);
pFormLineView->OnInitialUpdate ();
SetActiveView(pFormLineView);
pFormLineView->ShowWindow (SW_SHOW);
pOldView->ShowWindow (SW_HIDE);
pFormLineView->SetDlgCtrlID (AFX_IDW_PANE_FIRST);
RecalcLayout();
}
break;
case 3:
{
pLogicFormView = (CLogicFormView*)GetDlgItem(IDD_LOGICFORM);
if(pLogicFormView == NULL)
{
pLogicFormView = (CLogicFormView *) new CLogicFormView;
}
pLogicFormView->Create (NULL,NULL,WS_CHILD,CFrameWnd::rectDefault ,this,IDD_LOGICFORM,&context);
pLogicFormView->OnInitialUpdate ();
SetActiveView(pLogicFormView);
pLogicFormView->ShowWindow (SW_SHOW);
pOldView->ShowWindow (SW_HIDE);
pLogicFormView->SetDlgCtrlID (AFX_IDW_PANE_FIRST);
RecalcLayout();
}
break;
case 4:
{
pFormOCRView = (CFormOCRView*)GetDlgItem(IDD_FORMOCR);
if(pFormOCRView == NULL)
{
pFormOCRView = (CFormOCRView *) new CFormOCRView;
}
pFormOCRView->Create (NULL,NULL,WS_CHILD,CFrameWnd::rectDefault ,this,IDD_FORMOCR,&context);
pFormOCRView->OnInitialUpdate ();
SetActiveView(pFormOCRView);
pFormOCRView->ShowWindow (SW_SHOW);
pOldView->ShowWindow (SW_HIDE);
pFormOCRView->SetDlgCtrlID (AFX_IDW_PANE_FIRST);
RecalcLayout();
}
break;
}