SDI : Ansichtsklasse -> CFormView
-
Hi ,
ich habe in meinem Prog 2 FormView Dialogresourcen erstellt .
Wie kann ich jetzt in das Ansichtsfenster unterschiedliche FormView Dialoge anzeigen ?
-
Hi!
Probier mal:void CMainFrame::SwitchToView(int nView) { CView* pOldActiveView = GetActiveView(); CView* pNewActiveView = (CView*) GetDlgItem(nView); if (pNewActiveView == NULL) { switch (nView) { case 1: pNewActiveView = (CFormView*) new CFirstView; break; case 2: pNewActiveView = (CFormView*) new CSecView; break; } CCreateContext context; context.m_pCurrentDoc = pOldActiveView->GetDocument(); pNewActiveView->Create(NULL, NULL, WS_BORDER, CFrameWnd::rectDefault, this, nView, &context); pNewActiveView->OnInitialUpdate(); } SetActiveView(pNewActiveView); pNewActiveView->ShowWindow(SW_SHOW); pOldActiveView->ShowWindow(SW_HIDE); pOldActiveView->SetDlgCtrlID( pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CFirstView) ? 1 : 2); pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST); RecalcLayout(); }Du könntest noch mit enum die Viewbezeichnung vereinfachen!
mfg mike