![]() |
[VTV] GetImageIndex benötigt komplett validierte Nodes
Hallo,
arbeit hier mit dem Virtual Treeview und muss, um den ImageIndex eines Nodes ermitteln zu können, Informationen über die Subnodes auslesen. Diese müssen dazu bereits fertig erstellt sein. Ich rufe deswegen im OnInitNode-Ereignis "ValidateNode(Node, true)" auf, will also alle Childnodes validieren. GetImageIndex scheint aber trotzdem zu früh aufgerufen zu werden, da dort keine ChildNodes zu finden sind. Wenn ich von jedem Node direkt auf die Datenquelle zugreifen muss, wird das ganze sehr unkomfortabel zu programmieren. Kann ich irgendwie sicherstellen, dass alle Nodes da sind, bevor der ImageIndex abgefragt wird? |
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
wenn du im initchildren-event den parentnode neu zeichnest,
müsste er sich doch den aktuellen imageindex holen. |
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
Das ist eine gute Idee :)
Danke! Werde das mal versuchen. |
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
...wobei. das initchildren wird ja erst dann ausgeführt, wenn ich die node aufklappe. ich brauchs aber auch in nicht aufgeklappt. :|
|
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
Das Problem hatte ich auch schon mal, was eigentlich wirklich hilft, das Erstellen von Nodes in ein Beginupdate und EndUpdate zu kapseln. Dann ist das Problem vom Tisch.
|
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
mach ich eigentlich auch immer.
|
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
Zitat:
Den einzigen Ausweg sehe ich nur darin, im OnGetImageIndex selbst in den Daten nachzuschauen, welches Bildchen aktiviert werden sollte. Hast Du Dir mal die Quellen von VirtualTreeView angeschaut, wegen der Reihenfolge der Events? Schon seltsam, dass GetImageIndex vor InitNode kommt. |
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
es geht um die children....
|
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
Zitat:
Aber bevor wir hier weiter machen, würde ich erst mal auf die Antwort von DGL-luke warten. |
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
Zitat:
|
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
Mit der Zuweisung von RootNodeCount kann man auch mit Childs arbeiten. Man braucht nur im
OnInitNode Sender.ChildCount[Node] := xy festzulegen. |
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
Hallo,
ich mach das komplett virtuell, also nur über die Events. Den ChildnodeCount initialisiere ich jeweils im OnInitChildren, glauib ich, hab den Source grad nicht zur Hand. Hmm... wenn ich also das im OnInitNode setze, gehts komplett nach unten durch? Mal probieren. |
Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
Woohoo.
Am Ende von InInitNode folgenden Quelltext angefügt:
Delphi-Quellcode:
Tut wunderbärlich.
VSTInitChildren(FTree,Node,ChildCount);
FTree.ChildCount[Node] := ChildCount; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz