Autor Beitrag
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 19.03.03 12:43 
Ich brauch mal ein paar Denkanstöße, irgendwie komm ich nicht weiter.
Folgendes Problem:
Ich habe eine Ttreeview mit mehreren Knoten auf Level0. Einige dieser Knoten haben Childs.
Ich möchte zur Laufzeit in diesen Baum Level0 Knoten an einer bestimmten Stelle einfügen. Das geht mit
ausblenden Quelltext
1:
newnode.MoveTo({Einfuegestelle},nainsert);					

Für "Einfügestelle" muss ich einen anderen Knoten angeben. Die Frage ist: welchen? Der neue Knoten soll z.b. der 5 Knoten mit Level0 werden.
Über  treeview1.items[5] krieg ich den nicht, weil da die Childs der vorigen Knoten mitgezählt werden.

Eine möglichkeit, die mir einfällt, ist die, mit getnextsibling in einer Schleife die Level0 Knoten durchzugehen, aber das muss doch irgendwie einfacher gehen, oder?

_________________
We are, we were and will not be.
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mi 19.03.03 14:12 
Hi,

es gibt mehrere methoden... :)

1.) könntest du die Node nach dem Namen suchen (klappt allerdings nur wenn es den namen nur einmal gibt.. *g*), das geht mit FindNodeByName oder so ähnlich, mußt mal gucken :)

2.) Für jede Level0 Node eine eigene Variable vom Typ TTreeNode erstellen.. so z.B.

ausblenden Quelltext
1:
2:
var
  Level0Nodes: Array of TTreeNode;


Wenn du jetzt den Index von der 5ten Level0 Node willst:

ausblenden Quelltext
1:
Index:=Level0Nodex[4].Index					


oder wenn du der 5ten Level0 Node ein Child hinzufügen willst:

ausblenden Quelltext
1:
TreeView1.Items.AddChild(Level0Node[4],'ChildNode')					


Au'revoir,
Aya~

_________________
Aya
I aim for my endless dreams and I know they will come true!
Gausi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 19.03.03 15:24 
hmm..danke erstmal für die Antworten.
Hab auf jeden Fall jetzt neue Ideen bekommen.

Das mit dem Node nach Namen suchen ist ne nette Idee, nur müßte ich dafür die Namensgebung der Nodes ändern (es ist zur Zeit möglich, das 2-3 Nodes denselben Namen haben). Außerdem finde ich eine solche Funktion grad nicht auf Anhieb...

Das mit dem Array fällt aber auf jeden Fall in der Form flach. Dann müsste ich ja bei jedem Einfügen / Löschen eines Knotens das Array schreiben....Eine TObjectlist mit Treenodes als items wäre dann ne Möglichkeit...mal sehn, wie ich das mache.

_________________
We are, we were and will not be.