Strukturansicht



  • Hallo,

    ich hab da ein Problem bei der Darstellung meiner Strukturansicht, und zwar werden die Tree-Elemente pTree1 und pTree2 hinter die Wurzel angefügt. pTree1 soll aber ein Untereintrag von pTree sein und pTree2 soll ein Untereintrag von pTree1 sein. Mit den anderen (Unter-)Einträgen klappt es so, wie ich es möchte.
    Ohne die Initialisierung der pTree-Elemente, wird in meiner Strukturansicht erst mit den Einträgen ab pTree3 begonnen.
    Hat jemand eine Idee, wo mein Fehler dabei ist und warum es so nicht funktioniert?
    Mein Code ist folgender:

    CTreeCtrl *pTreeCtrl1=(CTreeCtrl *)GetDlgItem(IDC_TREE_Ansicht5);
    
    	HTREEITEM pTree=NULL;
    	HTREEITEM pTree1=NULL;
    	HTREEITEM pTree2=NULL;
    	HTREEITEM pTree3=NULL;
    	HTREEITEM pTree4=NULL;
    	HTREEITEM pTree5=NULL;
    	HTREEITEM pTree6=NULL;
    
    	if(listKopf){
    
    		listPtr=listKopf;
    		pTree=pTreeCtrl1->InsertItem("Wurzel",NULL);
    		while(listPtr){
    		//darstell.MessageBox(listPtr->gesamtEintrag);
    			if(listPtr->kennza[0]>0 && listPtr->kennza[1]==0){ 
    				pTree1=pTreeCtrl1->InsertItem(listPtr->gesamtEintrag,pTree);
    		 	}
    			if(listPtr->kennza[0]>0 && listPtr->kennza[1]>0 && listPtr->kennza[2]==0){
    				pTree2=pTreeCtrl1->InsertItem(listPtr->gesamtEintrag, pTree1);
    			}
    			if(listPtr->kennza[0]>0 && listPtr->kennza[1]>0 && listPtr->kennza[2]>0 && listPtr->kennza[3]==0 && listPtr->kennza[4]==0){
    				pTree3=pTreeCtrl1->InsertItem(listPtr->gesamtEintrag, pTree2);
    			}
    			if(listPtr->kennza[0]>0 && listPtr->kennza[1]>0 && listPtr->kennza[2]>0 && listPtr->kennza[3]==0 && listPtr->kennza[4]>0){
    				pTree4=pTreeCtrl1->InsertItem(listPtr->gesamtEintrag, pTree3);	
    			}
    			if(listPtr->kennza[0]>0 && listPtr->kennza[1]>0 && listPtr->kennza[2]>0 && listPtr->kennza[3]>0 && listPtr->kennza[4]==0){
    				pTree4=pTreeCtrl1->InsertItem(listPtr->gesamtEintrag, pTree3);	
    			}
    			if(listPtr->kennza[0]>0 && listPtr->kennza[1]>0 && listPtr->kennza[2]>0 && listPtr->kennza[3]>0 && listPtr->kennza[4]>0){
    				pTree5=pTreeCtrl1->InsertItem(listPtr->gesamtEintrag, pTree4);		
    			}
    			if(listPtr->kennza[0]>0 && listPtr->kennza[1]>0 && listPtr->kennza[2]>0 && listPtr->kennza[3]>0 &&listPtr->kennza[4]>0 && listPtr->kennza[5]>0){
    				for(int i=1; i<=listPtr->kennza[5];i++){
    					CString str;
    		            str.Format( "Vers %01d", i );
    		            pTree6=pTreeCtrl1->InsertItem(str, pTree5);
    				}		
    			}			
    			if(listPtr->kennza[0]==0){
    				darstell.MessageBox("Nomenklaturbeginn mit 0");
    			}
    
    			listPtr=listPtr->weiter;
    
    		}
    
    	}
    	else
    		darstell.MessageBox("Keine Liste");
    
    }
    

Anmelden zum Antworten