CMultiSplitterWnd und seine Fallstricke



  • Hallo Leutchen!

    Peterchen hat mir auf meine Anfrage, ob ein gesplittetes Window auch ohne Dokument-Unterstützung möglich ist folgenden Code genannt.

    http://www.cherea.de/bitbucket/multisplitwnd/multisplitwnd.html

    Offensichtlich ist das CMultiSplitterWnd für komplexere Aufgaben ungeeignet. Der Grund liegt darin, daß die Views als CWnd-Members angelegt werden.

    class CChildView : public CMultiSplitterWnd
    {
    
    // ...
    
    private:
    	CWnd *m_wndDBTree;
    	CWnd *m_wndDBTable;
    
    // ...
    
    }
    

    Ein Zugriff auf Members in den Views (Ableitung aus CMultiSplitterWnd) ist vom ChildView aus gar nicht möglich.

    BOOL CChildView::Create(CWnd * parent)
    {
    	CreateStatic(parent, 1,2);
    
    	m_wndDBTree = AddView(0, 0, RUNTIME_CLASS(CDBTreeView), NULL);
    	m_wndDBTable = AddView(0, 1, RUNTIME_CLASS(CDBTableView), NULL);
    
    	SetColWidth(0, 200);
    	m_wndDBTree->m_myMember = nSomething	// ist nicht möglich
    
    }
    

    Oder gibts irgend eine Möglichkeit diese Schranke zu umgehen?


Anmelden zum Antworten