Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Virtualtreeview Node.index und Scrollbarproblem

  Alt 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
  Mit Zitat antworten Zitat