Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [VTV] GetImageIndex benötigt komplett validierte Nodes (https://www.delphipraxis.net/93578-%5Bvtv%5D-getimageindex-benoetigt-komplett-validierte-nodes.html)

DGL-luke 7. Jun 2007 18:01


[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?

semo 7. Jun 2007 19:53

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.

DGL-luke 7. Jun 2007 19:56

Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
 
Das ist eine gute Idee :)

Danke! Werde das mal versuchen.

DGL-luke 9. Jun 2007 18:46

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. :|

rage2001 10. Jun 2007 18:56

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.

semo 10. Jun 2007 19:00

Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
 
mach ich eigentlich auch immer.

sh17 10. Jun 2007 19:28

Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
 
Zitat:

Zitat von rage2001
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.

Erstellt er denn die Nodes wirklich von Hand? Ich denke mal, er weist vst.RootNodeCount zu und nutzt dann OnInitNode.

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.

semo 10. Jun 2007 19:29

Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
 
es geht um die children....

sh17 11. Jun 2007 07:38

Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
 
Zitat:

Zitat von computer-glossar.de
es geht um die children....

Richtig. Und die kann man entweder im OnInitNode selbst initialisieren oder man wartet auf OnInitChildren.

Aber bevor wir hier weiter machen, würde ich erst mal auf die Antwort von DGL-luke warten.

rage2001 11. Jun 2007 23:16

Re: [VTV] GetImageIndex benötigt komplett validierte Nodes
 
Zitat:

Zitat von sh17
Erstellt er denn die Nodes wirklich von Hand? Ich denke mal, er weist vst.RootNodeCount zu und nutzt dann OnInitNode.

Jo, das macht er von Hand, den die Children werden von Rootnodecount ja nicht betroffen und die Methode benutze ich seit geraumer Zeit, wie man weiß Gewohnheitstier so ein Mensch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz