Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listbox Einträge selber zeichnen(Variabler Größe) oder Alternativen? (https://www.delphipraxis.net/173696-listbox-eintraege-selber-zeichnen-variabler-groesse-oder-alternativen.html)

Cyberaxx 11. Mär 2013 14:08

Listbox Einträge selber zeichnen(Variabler Größe) oder Alternativen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo liebe Gemeinde,

stehe gerade ein wenig auf dem Schlauch was die Umsetzung einer Liste angeht. Es geht um die Anzeige eines Newstickers für die Administration.

Zitat:

Benutzer: Testuser | Status: Aktiv
Erstellt am: 2013-03-03 12:02:00 | Startet am 2013-03-03 12:02:00 | Endet am 2013-03-05 12:00:00
Das ist eine Nachricht
Also mindestens drei Zeilen. Die Nachricht des Tickers hat eine unbestimmte Länge.

Derzeit löse ich das über ein ADVStringGrid in dem ich die Zellen Merge, siehe Anhang.
Das finde ich allerdings als keine so optimale Lösung, da ich gerne RowSelect verwenden würde und dies klappt leider damit nicht. Nachdem ich dann versucht habe das Selectierte Elment von Hand zu färben scheitere ich beim Scrollen. Hier Markiert er mir die Einträge leider nicht mehr richtig.

Habe eben mal versucht es mittels einer Listbox zu lösen aber hier mag er mir die Zeichenfläche nicht vergrössern. Der Text selbst wird dargestellt aber die Itemhöhe nicht dementsprechend angepasst. Es gibt hier leider auch nur eine Grössenangabe aber der Text kann ja in der Länge variieren.

Wie kann ich dieses Problem am ehesten lösen?

uligerhardt 11. Mär 2013 15:08

AW: Listbox Einträge selber zeichnen(Variabler Größe) oder Alternativen?
 
Wenn's ne TListBox sein soll, dürften dir
Delphi-Quellcode:
Style = lbOwnerDrawVariable
und
Delphi-Quellcode:
OnMeasureItem
weiterhelfen. Alternativen könnten TListView, VirtualTree oder cxGrid sein.

Furtbichler 11. Mär 2013 16:06

AW: Listbox Einträge selber zeichnen(Variabler Größe) oder Alternativen?
 
Ich würde ein DevExpress Grid nehmen. Dort kann man eine 'Preview-Spalte' definieren, die genau deiner Nachricht entspricht, also: Variable Zellenhöhe, abhängig vom Inhalt, Anzeige unter den anderen Zellen usw.

Leider ziemlich teuer.

Cyberaxx 11. Mär 2013 19:06

AW: Listbox Einträge selber zeichnen(Variabler Größe) oder Alternativen?
 
OnMeasureItem ist schon ein guter Anfang. Über diese Eigenschaft bin ich bisher nicht gestolpert.
Werde mal schauen wie weit ich damit komme.

Ich bin ansonsten für andere Vorschläge weiterhin offen, schrieb ich ja. Es muss also nicht unbedingt eine Listbox sein.

Wenn es eben eine schönere bzw einfachere Lösung gibt nehme ich diese natürlich.

Würde jetzt ungerne mir dafür eine neue Komponente kaufen. Zumal ich bei DevExpress ja auch noch zeichnen müsste damit es meinem Design entspricht.

lbccaleb 11. Mär 2013 22:52

AW: Listbox Einträge selber zeichnen(Variabler Größe) oder Alternativen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bei Delphi6 war damals ein Bsp. dabei, vllt. hilft dir das ja weiter!? Habs mal Angehangen!


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