Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Virtual TreeView -> mehrzeilig


platzwart - Do 20.11.08 23:27
Titel: Virtual TreeView -> mehrzeilig
Liebe Delphiexperten,

ich möchte pro Zeile(also pro Datensatz) in meinem VirtualTree (VirtualStringTree/VirtualDrawTree?!?) die enthaltenen Daten mehrzeilig darstellen. Ok, klingt kompliziert, daher hier ein Bild zur Verdeutlichung:

user defined image

Ein Eintrag(Node) des VirtualTree sollte aus einer Überschrift in der ersten Zeile (im Bild: "Some Things - Lasgo") und weiteren Informationen in der zweiten Zeile (im Bild: "13 tracks", "album length"...) bestehen...

Gibt es da was vorgefertigtes? Muss ich mir da selbst was basteln(wie?)


Vielen Dank schon mal für eure Bemühung! :)


platzwart - Fr 21.11.08 16:50

Niemand eine Idee?

Eventuell in einer OwnerDraw-Methode das ganze selbst zeichnen?


opfer.der.genauigkeit - Sa 22.11.08 17:03

Hi,

ich habe das damals glaube ich so gelöst, dass ich die VTEditors verwendet habe.
D.h. ich habe im Event CreateEditor zum Anzeigen des Editors die Klasse TMemoEditLink als Link angegeben.
Das wirst du zumindest brauchen, wenn du die Eingabe mehrzeilig darstellen und verändern möchtest.

Ansonsten dürfte dir das Event MeasureItem reichen.
Dort ermittelst du die Nodehöhe für die gewünschte Zeile anhand der Funktion ComputeNodeHeight.
Zudem musst du IMHO bei den TreeOptions (MiscOptions) noch toVariableNodeHeight einstellen.

Sofern ich nicht etwas vergessen habe, müsste es damit klappen.

MfG
odg


matze - So 23.11.08 12:22

Es gibt vom VirtualTreeView ja auch Demos zum runterladen.
In einem dieser Demos wird die Verwendung von mehrzeiligen Items gezeigt.