Registriert seit: 17. Okt 2012
32 Beiträge
|
AW: Initialisierung von VirtualTreeView mit ivsExpanded sehr langsam
7. Jun 2020, 18:14
Danke, Aviator, für die Tipps.
Tatsächlich müssen die Knoten erst aufgeklappt werden, wenn sie angezeigt werden. Dadurch wird der Baum dann initial sehr schnell aufgebaut. In InitialStates ist alsoivsHasChildren vorhanden und ivsExpanded bleibt raus. Da ich kein Event finden konnte, welches ausgelöst wird, wenn ein Knoten sichtbar wird, bin ich dabei geblieben, den Knoten zu expandieren, wenn zum ersten Mal dafür die Daten benötigt werden (Anzeige des Icons oder des Textes).
TopNode war etwas schwieriger zur Kooperation zu bewegen. Wenn TopNode zwischen BeginUpdate und EndUpdate gesetzt wird, ändert der Baum selbständig den TopNode. Selbst, wenn toAutoScrollOnExpand nicht gesetzt ist. Der Trick ist, den TopNode unmittelbar nach EndUpdate zu setzen.
Damit funktioniert es jetzt vollständig wunschgemäß.
|