Einzelnen Beitrag anzeigen

Aviator

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

VirtualTreeView - Bearbeitung von TVirtualNode führt zum Abschneiden von NodeText

  Alt 29. Mai 2014, 16:02
Hallo Leute,

wie der Titel schon sagt, habe ich den Type TVirtualNode = packed record etwas verändert, da ich zu einer einzelnen Node noch gewisse zusätzliche Informationen benötige, um diese richtig zeichnen zu lassen. Mein Ziel ist es, dass ich pro Node und Column entscheiden kann, ob ein Image entweder zentriert oder linksbündig in die Zelle gemalt wird. Da das Malen des Bildes im Tree selbst geschehen soll und ich nur noch den "Status" der Bildposition übergeben möchte, wurde von mir eine Zeile DrawImageCentered: Boolean; zum TVirtualNode Record hinzugefügt. Des Weiteren habe ich den Type TVirtualTreeColumn um eine Property erweitert, um auch dort zu bestimmen, ob das Bild in der Mitte gemalt werden soll oder nicht.

Mein Problem ist nun folgendes: Sobald ich den TVirtualNode Record bearbeite (d.h. ein Feld/Variable hinzufüge), schneidet mir der Tree beim Zeichnen der Node einen Teil des Textes (meistens den letzten Buchstaben) ab und ersetzt diesen durch "..." (drei Punkte). Entferne ich die Änderung aus dem TVirtualNode Record ist alles wieder normal.

Im Record steht noch ein Hinweis, dass neue Felder (es ist also lt. Mike Lischke möglich neue Felder einzufügen) vor das Feld "Parent" gesetzt werden sollen. Das habe ich auch so gemacht, trotzdem tritt der beschriebene Fehler auf.

Ich hoffe es hat jemand einen Tipp für mich, wie ich diesen Fehler beheben kann. Wenn ich noch zusätzliche Informationen braucht, bin ich gerne bereit, euch diese zu geben, sofern ich diese besitze bzw. eine Antwort auf eure Frage habe.

Zwei Hinweise noch: Ich benutze die Version 5.2.0 des VST's und der Text wird in der Funktion ShortenString (bei mir Zeile 4799) gekürzt. Mein Problem ist nur, dass ich nicht weiß wieso.

Schonmal danke für die hoffentlich konstruktiven Antworten.
  Mit Zitat antworten Zitat