Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Node in VirtualStringTree reagiert nicht richtig auf Mausklicks (https://www.delphipraxis.net/161117-node-virtualstringtree-reagiert-nicht-richtig-auf-mausklicks.html)

Codehunter 17. Jun 2011 12:52

Node in VirtualStringTree reagiert nicht richtig auf Mausklicks
 
Hallo!

Ich habe dsa Problem, dass Nodes in einem VirtualStringTree nicht richtig auf Mausklicks reagieren. Genauer gesagt: Klickt man auf das Icon oder die ersten paar Pixel der Beschriftung, dann wird der Node korrekt markiert und blau hinterlegt. Klickt man aber mitten auf die Beschriftung, passiert überhaupt nichts.

Wenn ich in den TreeOptions.SelectionOptions.toFullRowSelect = TRUE setze dann kann man in der gesamten Zeile klicken, es wird dann korrekt ausgewählt. Nur zeichnet es mir ja dann die ganze Zeile blau, was eigentlich nicht Sinn der Sache ist.

Ich habe festgestellt, dass das Ereignis OnGetText mehrmals aufgerufen wird. Das Rechteck, in welchem der Treeview auf den Mausklick eines Nodes reagiert, entspricht aber dem Textrechteck, welches beim allerersten OnGetText für den betreffenden Node erzeugt wurde. Weist man in OnGetText der Eigenschaft CellText einen String zu der länger ist als der vorherige, so wird die neue "Überlänge" nicht bei der Berechnung des Rechtecks berücksichtigt.

Jetzt ist die Frage: Wie kann ich VirtualStringTree dazu bringen, die Textrechtecke der Nodes neu zu berechnen?

bcvs 20. Jun 2011 17:28

AW: Node in VirtualStringTree reagiert nicht richtig auf Mausklicks
 
Zitat:

Zitat von Codehunter (Beitrag 1106996)
Ich habe festgestellt, dass das Ereignis OnGetText mehrmals aufgerufen wird. Das Rechteck, in welchem der Treeview auf den Mausklick eines Nodes reagiert, entspricht aber dem Textrechteck, welches beim allerersten OnGetText für den betreffenden Node erzeugt wurde. Weist man in OnGetText der Eigenschaft CellText einen String zu der länger ist als der vorherige, so wird die neue "Überlänge" nicht bei der Berechnung des Rechtecks berücksichtigt.

Jetzt ist die Frage: Wie kann ich VirtualStringTree dazu bringen, die Textrechtecke der Nodes neu zu berechnen?

Nur zum Verständnis: Wieso weist du dann dem CellText nicht gleich den richtigen Text zu?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz