Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#1

VirtualTreeView - Erkennen ob Text gekürzt wurde

  Alt 8. Aug 2014, 20:28
Hallo zusammen,
ich bin gerade dabei, einen Hint in meinem VirtualStringTree (VST) anzuzeigen. Alles kein Problem, habe ich schon tausend mal gemacht. Allerdings habe ich immer eine kleine Unschönheit bei der Sache.

Und zwar hätte ich gerne, dass nur dann ein Hint angezeigt wird, wenn der Text vom VST gekürzt wurde und mit "..." erweitert wird. Bei vollständig lesbaren Texten ist es ja nicht gerade sinnvoll, einen Hint anzuzeigen. Mein Problem ist jetzt, dass ich keine Funktion/Property kenne, die mir ausgibt, ob der Text in einer Column bei einer bestimmten Node gekürzt wurde. Ein Blick in die Sourcen des VST brachte mich auch nicht wirklich weiter, außer dass ich mit meinen Suchbegriffen dort nichts fand.

Es gibt ein Event "OnShortenString", allerdings kann ich da nur nochmal selbst eingreifen und sagen, wie groß das Rect ist, in das der Text eingepasst werden soll. Nur bringt mir das im OnGetHint Event des Trees nicht mehr besonders viel.

Meine Frage jetzt: Kennt jemand eine Möglichkeit um zu erkennen, ob ein Text in einer Spalte gekürzt wurde? Oder muss man das was ich vorhabe komplett selbst programmieren und dann mit TextWidth/TextExtend errechnen, ob der Text breiter als die ColumnWidth ist und dann ggf. den Hint anzeigen oder nicht?

Geändert von Aviator ( 8. Aug 2014 um 20:30 Uhr)
  Mit Zitat antworten Zitat