Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
Delphi 2010 Professional
|
Re: Virtualtreeview Node.index und Scrollbarproblem
19. Mai 2007, 10:20
Hallo Moritz,
das Ereignis OnChange des VST wird auch ausgelöst, wenn ein Knoten den Fokus verliert; in diesem Fall hat der Übergabeparameter Node den Wert NIL. Bei einem Fokuswechsel erfolgen somit zwei Aufrufe: der erste mit Node=NIL, der zweite mit Node=neuer Knoten.
Wenn du den fokussierten Knoten des VST auslesen möchtest, so geht das über VST.FocusedNode. Den ersten selektierten Knoten erhältst du über VST.GetFirstSelected, die Anzahl selektierter Knoten über VST.SelectedCount.
Voraussetzung für die korrekte Berechnung der Scrollbar-Höhe ist das Setzen von toVariableNodeHeight in VST.TreeOptions.MiscOptions. Aber auch dann wird das Ereignis OnMeasureItem nur für die sichtbaren Knoten ausgelöst. Abhilfe schafft der Aufruf
VST.InvalidateChildren (nil, True)
z.B. in der Behandlungsroutine für das Ereignis OnShow des Formulars.
Gruß Hawkeye
|