Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Geht diese Darstellung mit TListView? (https://www.delphipraxis.net/110238-geht-diese-darstellung-mit-tlistview.html)

Nuclear-Ping 15. Mär 2008 09:53


Geht diese Darstellung mit TListView?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Grüße,

bei meinem Speicherleck-Problem gehe ich grad der Spur nach, dass die Leaks scheinbar mit dem VST zu tun haben, den ich da zur Darstellung der Inhalte der Listen verwende. Denn wenn ich den Teil des füllens und darstellens des VST auskommentiere, bleibt der Speicherverbrauch stabil. Nehme ich ihn wieder rein, leakt es wieder - ohne dass FastMM das merkt.
Also hab ich den VST mal mit einer TListView (vsReport) ausgetauscht und die Einträge werden nur provisorisch gemacht, also ohne Bilder, normale Zeilenhöhe, usw. Und auch hier blieb der Speicherverbrauch stabil. :thumb:

Ich hab zu meinen Anfangszeiten von Delphi das letzte mal mit TListView gearbeitet. Hab grad ein bisschen im OI und der Hilfe rumgeschaut und gegoogelt, aber nicht soviel gefunden.

Kann man die Darstellung aus dem Anhang genauso in einer Standard-ListView (Win32 Tab) von Delphi abbilden? Im VST, den ich dafür bisher verwendet habe, ging das relativ leicht. Die Items haben dort eine feste Höhe (vorallem dazu hab ich nichts gefunden), Text wird automatisch umgebrochen und in Spalten 4 & 5 sind meist Bilder von Symbolen.

Vielleicht habt ihr auch noch einen kleinen Denkanstoß in die richtige Richtung?

bitsetter 15. Mär 2008 10:35

Re: Geht diese Darstellung mit TListView?
 
Das geht auf jeden Fall wenn du alles es selber zeichnest, das wäre dann aber ziemlich aufwendig.

Ansonsten:
Zitat:

Zitat von Nuclear-Ping
Die Items haben dort eine feste Höhe (vorallem dazu hab ich nichts gefunden)

Geht mit Trix, die Höhe der SmallImages- Imagelist entsprechend ändern.

Zitat:

Zitat von Nuclear-Ping
Text wird automatisch umgebrochen.

Wüste ich jetzt auch nicht.

Zitat:

Zitat von Nuclear-Ping
und in Spalten 4 & 5 sind meist Bilder von Symbolen.

Geht auch mit dem TListView.
Delphi-Quellcode:
Lv.Items[index].SubItemImages[...]:=

Nuclear-Ping 15. Mär 2008 11:26

Re: Geht diese Darstellung mit TListView?
 
Danke für den Hinweis mit den SmallImages, tricky, aber funktioniert. :zwinker:
[edit]
Aber sobald man da SmallImages was zuweist, zeichnet er die erste Spalte nicht mehr. Der Text ist vertikal zentriert und wird leider auch nicht umgebrochen. :(
[/edit]

Hab grad mal damit rumgespielt. Das Zeichnen von den Symbolen ist noch ziemlich wild. Er macht da ganz schönen Murks.

Das .Items.SubItemImages läuft wohl nur über eine ImageList? Die Daten in den Listen kommen hier nämlich teils aus einer DB (die Sanskrit-Bilder zB) und teils aus einer ImageList (Das "Klang" Symbol bei "Sound").

Beim googeln hab ich das gefunden: http://www.delphidabbler.com/articles?article=16
Das beschäftigt sich ein wenig mit OnCustomDrawX, aber nicht genau das was ich will.

Wie krieg ich die Symbole in die beiden Spalten? Geht das, ohne alles per CustomDraw zu machen? :gruebel:

bitsetter 15. Mär 2008 12:01

Re: Geht diese Darstellung mit TListView?
 
Zitat:

Zitat von Nuclear-Ping
Aber sobald man da SmallImages was zuweist, zeichnet er die erste Spalte nicht mehr.

Dann hatten die Icone bestimmt eine andere Abmessung, die Imagelist wir dann geleert. Die Höhe der Items entspricht jedenfalls der Höhe der zugewiesenen ImageList.
Es ging aber irgendwie auch, wenn man beim Start des Programms die Höhe der Schrift kurz änderte. So hat es jedenfalls Guido Eisenbeis im BeitragLIstview Eintrag aber nicht Icon markieren gemacht.

Ich würde alles selber zeichnen, dann kannst du auch den Zeilenumbruch realisieren und den Text an die richtige Position bringen.

Nuclear-Ping 15. Mär 2008 13:02

Re: Geht diese Darstellung mit TListView?
 
Ok, danke für die Anregungen!

Ich probiere mich mal im selber zeichnen. Wenn ich gegen die Wand fahre, meld' ich mich nochmal. :mrgreen:


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