E
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");
}