letzter TreeNode ermitteln
-
Hallo,
Ich möchte einen Treeview durchlaufen
Beispiel:
a_ |- 1 | |- m | \- n | \- 2 b_ \- 1 |- o \- p c_ |- 1 |- 2 \- 3
hier möchte ich nur a, b, c haben
und wenn ich bei a -> 1 anfange möchte ich die Knoten m und n
haben, jedoch nicht o und p. Daher kann ich nicht die einzelnen
Ebenen durchlaufen.Mit TreeNode->GetNext(); klappt das auch soweit, doch wie kann
ich abfragen, ob das nun der letzte Knoten war? Also wie weiß
ich, dass nach c (bzw. p) schluss ist?Ich such also sowas:
TTreeNode * TreeNode = TreeView->GetNodeAt(0,0); bool bRun = true; while (bRun) { bRun = !TreeNode->IsLastNode(); // Leider gibt es nur IsFirstNode() und // nicht IsLastNode(), daher geht das nicht. ShowMessage(TreeNode->Text) TreeNode = TreeNode->GetNext(); }
-
Hallo!
Du könntest mit einer Schleife, die Anzahl deiner jeweiligen Knoten zählen und diese dann solange auslesen bis zuende!
Eine Weitere Funktion ist auch GetLastChild();
Schau doch mal in der Hilfe unter TTreeNode
Gruß Jannika
-
Danke für deine Antowort.
Ich hab das Problem nun gefunden. Solange ich die Knoten der Ebene 1 oder höher
durchlaufe klappt es mit Count. das ganze geht nur nicht, wenn ich die Knoten
alle als root habe. Das wollte ich aber in meiner Anwendung eh noch verhindern,
um das ganze übersichtlicher zu gestalten. Somit ist das für meine Zwecke nun
ausreichend