Delphi-PRAXiS

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/)
-   -   VirtualTreeView MoveTo und Repaint (https://www.delphipraxis.net/159639-virtualtreeview-moveto-und-repaint.html)

amigage 6. Apr 2011 13:47

VirtualTreeView MoveTo und Repaint
 
Hallo,

ich bin gerade dabei mit VirtualTreeView zu experimentieren.
Läuft bisher alles super. Ein Problem habe ich noch, und zwar suche ich eine Art REPAINT.

Zu Erklärung:
Beim Erstellen des Baums formatiere ich die Zeilen, indem ich in den Eigenschaften OnBeforeItemErase anhand des Levels die Höhe und Farbe festlege. Irgendwann vertausche ich zwei Knoten mit MoveNode. Die Knoten werden getauscht, aber ich möchte das Aussehen beibehalten.

Gibt es eine Möglichkeit, das Zeichnen der Knoten neu zu veranlassen, damit wieder OnBeforeItemErase aufgerufen wird? Repaint bzw. RepaintNode() funktionieren irgendwie nicht. Und bei OnBeforeEraseItem() weiß ich nciht, was ich alles übergeben muss.

Danke für jeden Hinweis.

wicht 6. Apr 2011 15:08

AW: VirtualTreeView MoveTo und Repaint
 
Habe BeforeItemErase noch nie benutzt, aber evtl. hilft InvalidateNode()/Invalidate()?

HTH

ConnorMcLeod 6. Apr 2011 15:50

AW: VirtualTreeView MoveTo und Repaint
 
Tree.Refresh; oder
Tree.Invalidate;
wirkt bei mir immer. HTH W.

amigage 7. Apr 2011 13:28

AW: VirtualTreeView MoveTo und Repaint
 
Super :thumb:

Besten Dank an Euch beide. Der Tipp mit Invalidate war Gold wert.

Damit bin ich nämlich auf mein eigentliches Problem gestoßen, dass ich noch meine InitNode() Eigenschaft noch einmal überarbeiten musste, um bei BeforeItemErase() meine Formatierung erneut ausführen zu können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 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