Eine von mehreren Views teilen

Hallo

Ich möchte in meiner SDI MFC Anwendung ein geteiltes Fenster haben. Da bin ich schon auf folgenden Code gestoßen:

C++:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 

... 

BOOL bolReturn = TRUE; 
    bolReturn = this->m_wndSplitter.CreateStatic (this, 1, 2); 
    SIZE size; 
    size.cx = (rect.right-rect.left)/2; 
    size.cy = rect.bottom-rect.top; 
    bolReturn = bolReturn && this->m_wndSplitter.CreateView (0, 0, RUNTIME_CLASS (CTxtWatchView), size, pContext); 
    bolReturn = bolReturn && this->m_wndSplitter.CreateView (0, 1, RUNTIME_CLASS (CTxtEditView), size, pContext); 
    break;

Das Problem ist, das ich nicht nur eine Ansicht habe, sondern mit
CMainFrame::SwitchView die ansichten wechsele:

C++:
switch(TypeOfView) 
    { 
    case VIEW_1: 
        if (m_pC_1_View==NULL)//Falls Zeiger noch NULL 
        { 
            MessageBox("ERROR002: Es gibt keinen Zeiger auf das Menü!"); 
            return; 
        } 
        pNewView=m_pCMenueView; 
        break; 
        
    case VIEW_2: 
        if (m_pC_2_View==NULL) 
        { 
            CRuntimeClass *pCR=RUNTIME_CLASS(C_2_View); 
            m_pCDctView = static_cast<CScrollView*>(pCR->CreateObject()); 
            //ID des Views ungleich AFX_IDW_PANE_FIRST setzen 
            m_pCDctView->Create(NULL,NULL,AFX_WS_DEFAULT_VIEW 
                             ,rectDefault,this,AFX_IDW_PANE_FIRST+1,NULL); 
        } 
        pNewView=m_pCDctView; 
        break; 

//Zeiger auf Dokument holen 
    CDocument *pDoc=pOldView->GetDocument(); 
    //View mit Doc verbinden 
    pDoc->AddView(pNewView); 
    pDoc->RemoveView(pOldView); 

    //Aktives View dem Rahmenfenster mitteilen: 
    SetActiveView(pNewView);

Meine Frage:
Wie kann ich ein einzelnes, bestimmtes View splitten? Wo muss ich da obigen Code (ggf. modifiziert) einfügen?

Ich hoffe ihr könnt mir helfen, vielen Dank schon mal im voraus.
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück