AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi [VTV] GetImageIndex benötigt komplett validierte Nodes
Thema durchsuchen
Ansicht
Themen-Optionen

[VTV] GetImageIndex benötigt komplett validierte Nodes

Ein Thema von DGL-luke · begonnen am 7. Jun 2007 · letzter Beitrag vom 17. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#1

[VTV] GetImageIndex benötigt komplett validierte Nodes

  Alt 7. Jun 2007, 19:01
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?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#2

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

  Alt 7. Jun 2007, 20:53
wenn du im initchildren-event den parentnode neu zeichnest,
müsste er sich doch den aktuellen imageindex holen.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

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

  Alt 7. Jun 2007, 20:56
Das ist eine gute Idee

Danke! Werde das mal versuchen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

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

  Alt 9. Jun 2007, 19:46
...wobei. das initchildren wird ja erst dann ausgeführt, wenn ich die node aufklappe. ich brauchs aber auch in nicht aufgeklappt.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
rage2001

Registriert seit: 21. Apr 2004
19 Beiträge
 
#5

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

  Alt 10. Jun 2007, 19:56
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.
Entwickler und Mitautor des c't-Artikels "Mäusekino"
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#6

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

  Alt 10. Jun 2007, 20:00
mach ich eigentlich auch immer.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#7

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

  Alt 10. Jun 2007, 20:28
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.
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#8

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

  Alt 10. Jun 2007, 20:29
es geht um die children....
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#9

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

  Alt 11. Jun 2007, 08:38
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.
Sven Harazim
--
  Mit Zitat antworten Zitat
rage2001

Registriert seit: 21. Apr 2004
19 Beiträge
 
#10

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

  Alt 12. Jun 2007, 00:16
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.
Entwickler und Mitautor des c't-Artikels "Mäusekino"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 Uhr.
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