Fensterwechseln mittels CTreeCtrl



  • Hallo Leute,

    habe da mal wieder eine Frage,
    in meiner SDI Anwendung wechsle ich die Fenster mittels einem Splitter, der in dem einen Bereich einen CTreeCtrl hat und in dem anderen wird ein SwitchToView aufgerufen.
    Soweit funktioniert es auch, nur bekomme ich jetzt langsam Probleme, wenn ich meine Navigation (CTreeCtrl) Dynamisch halten möchte.

    Da gibt es bestimmt eine bessere Lösung ??

    // In der Header Datei (.h)
    HTREEITEM  m_Liste_1;
    HTREEITEM  m_Liste_2;
    HTREEITEM  m_Liste_21[100];
    HTREEITEM  m_Liste_22[100];
    HTREEITEM  m_Liste_23[100];
    
    // In der .cpp Datei
    void CNaviView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
    
    	UINT	    nView         = 0;
    	HTREEITEM hSelectedItem = GetTreeCtrl().GetSelectedItem();
    
    	m_strServerName = GetTreeCtrl().GetItemText(hSelectedItem);
    
    	if (hSelectedItem == m_Liste_1)
    	{
    		// nView = VIEW_HOME;
    		nView = 1;
    	}
    
    	USHORT IntegerArrayLenght;
    	IntegerArrayLenght = sizeof(m_Liste_21)/sizeof(m_Liste_21[0]);
    	for(int i = 0 ; i != IntegerArrayLenght; i++)
    	{
    		if (hSelectedItem == m_Liste_22[i])
    		{
    			m_strServerName = GetTreeCtrl().GetItemText(m_Liste_21[i]);			
    			// nView = VIEW_LIZENZ;
    			nView = 2;
    		}
    		if (hSelectedItem == m_Liste_23[i])
    		{
    			m_strServerName2 = GetTreeCtrl().GetItemText(m_Liste_21[i]);			
    			// nView = VIEW_BENUTZER;
    			nView = 3;
    		}
    	}
    
    	if (nView)
    	{
    		m_pAnsichtRechts->SwitchToView(nView);
    	}
    	*pResult = 0;
    }
    

    Gruß
    andy_mann


Anmelden zum Antworten