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 Spezielle ListView bzw. ListBox gesucht (https://www.delphipraxis.net/100983-spezielle-listview-bzw-listbox-gesucht.html)

Andreas L. 6. Okt 2007 15:16


Spezielle ListView bzw. ListBox gesucht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich suche eine Listview bzw. -box Komponente bei der ich 1. Bilder einfügen (am besten über eine ImageList) und 2. die ganze Zeile beim drauf klicken markiert wird. Soll ne Art Navigationsliste werden. Ich habe schon die verschiedensten ausprobiert.

Im Anhang ist ein Bild mit 3 ListViews.
Links: TListView
Mitte: TJvImageListBox
Rechts: TJvListView

Die JvImageListBox kommt schon ganz nah an meine Anforderungen ran, nur wird bei der Selektion immer das erste Zeichen abgeschnitten und die Grafik sollte auch innerhalb der Markierung liegen. Desweiteren werden die Grafiken (die aus einer PngImageList stammen) ziemlich pixelig angezeigt, dies ist bei den anderen Komponenten nicht der Fall. Kennt jemand eine geeignete Komponente oder gibts vllt. bei den aktuellen noch irgendwelche Eigenschaften die ich übersehen habe?

Alexander Roth 6. Okt 2007 15:24

Re: Spezielle ListView bzw. ListBox gesucht
 
Also mir ist nicht ganz so klar was du brauchts, aber sehr vielfältig ist die Komponente: Virtual Tree View.

siehe hier:
http://www.soft-gems.net/index.php?o...d=12&Itemid=38


Gruß Alexander

Andreas L. 6. Okt 2007 15:29

Re: Spezielle ListView bzw. ListBox gesucht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Alexander Roth
Also mir ist nicht ganz so klar was du brauchts, aber sehr vielfältig ist die Komponente: Virtual Tree View.

siehe hier:
http://www.soft-gems.net/index.php?o...d=12&Itemid=38


Gruß Alexander

Ich möchte sowas wie im Anhang. Die Virtual TreeView kenne ich schon. Jedesmal wenn ich die IDE erneut öffne muss ich die Packages dafür neu installieren. Und ob ich die so anpassen kann, wie die ListView im Screenshot, weiß ich auch nicht.

Bernhard Geyer 6. Okt 2007 15:38

Re: Spezielle ListView bzw. ListBox gesucht
 
Zitat:

Zitat von Andreas L.
Ich möchte sowas wie im Anhang. Die Virtual TreeView kenne ich schon. Jedesmal wenn ich die IDE erneut öffne muss ich die Packages dafür neu installieren. Und ob ich die so anpassen kann, wie die ListView im Screenshot, weiß ich auch nicht.

Alte Macke der Delphi-IDE und hat nix mit dieser Komponenten zu tun. Du mußt beim Package-Konfigurationsdialog (Name für D2006 kenn ich aktuell nicht) die geladenen Packages als Vorgabe speichern damit nicht eine alte Vorgabe (ohne der o.g. Komponente) defaultmäßig geladen wird.

Alexander Roth 6. Okt 2007 15:41

Re: Spezielle ListView bzw. ListBox gesucht
 
Wie gesagt, Virtual Tree View scheint sehr anpassungsfähig zu sein, ich habe es selbst allerdings noch nicht genutzt.

Was meinst du eigentlich damit? Das verstehe ich nicht ganz so.
Zitat:

Zitat von Andreas L.
Die JvImageListBox kommt schon ganz nah an meine Anforderungen ran, nur wird bei der Selektion immer das erste Zeichen abgeschnitten und die Grafik sollte auch innerhalb der Markierung liegen. Desweiteren werden die Grafiken (die aus einer PngImageList stammen) ziemlich pixelig angezeigt, dies ist bei den anderen Komponenten nicht der Fall.

Sind die Graphiken von grund auf pixelig?
Kann man das durch Bildbearbeitung/neue Bilder lösen?

Zitat:

Zitat von Andreas L.
die Grafik sollte auch innerhalb der Markierung liegen

Also das Bild soll auch Gräulich markiert sein? Falls du keine Komponenet findest die das kann, kommst du wohl nicht drum herum (wenn diese Markierung WIRKLICH sein MUSS), dass du eine Komponente ableitest und die Paint Methode überschreibst/veränderst, sodass auch das Bild grau umrandet gezeichnet wird.


Gruß Alexander

Andreas L. 6. Okt 2007 15:44

Re: Spezielle ListView bzw. ListBox gesucht
 
Zitat:

Zitat von Alexander Roth
Wie gesagt, Virtual Tree View scheint sehr anpassungsfähig zu sein, ich habe es selbst allerdings noch nicht genutzt.

Was meinst du eigentlich damit? Das verstehe ich nicht ganz so.
Zitat:

Zitat von Andreas L.
Die JvImageListBox kommt schon ganz nah an meine Anforderungen ran, nur wird bei der Selektion immer das erste Zeichen abgeschnitten und die Grafik sollte auch innerhalb der Markierung liegen. Desweiteren werden die Grafiken (die aus einer PngImageList stammen) ziemlich pixelig angezeigt, dies ist bei den anderen Komponenten nicht der Fall.

Sind die Graphiken von grund auf pixelig?
Kann man das durch Bildbearbeitung/neue Bilder lösen?

Die Bilder sind normal nicht pixelig, sie werden es erst durch die Markierung pixelig.

Zitat:

Zitat von Alexander Roth
Zitat:

Zitat von Andreas L.
die Grafik sollte auch innerhalb der Markierung liegen

Also das Bild soll auch Gräulich markiert sein? Falls du keine Komponenet findest die das kann, kommst du wohl nicht drum herum (wenn diese Markierung WIRKLICH sein MUSS), dass du eine Komponente ableitest und die Paint Methode überschreibst/veränderst, sodass auch das Bild grau umrandet gezeichnet wird.

Sie müssen nicht grau werden. Schau dir den 2ten Screenshot an. Es soll um das Bild rum alles blau, also markiert sein.

Alexander Roth 6. Okt 2007 15:54

Re: Spezielle ListView bzw. ListBox gesucht
 
Zitat:

Zitat von Andreas L.
Sie müssen nicht grau werden. Schau dir den 2ten Screenshot an. Es soll um das Bild rum alles blau, also markiert sein.

Ahh.. ok.
Jo das ist doch dann relativ einfach. Na ja so einfach auch wieder nicht.
Du nimmst die Komponente, die das Bild verpixelt/oder das Bild selbst gräulich macht, und musst in der abgeleiteten Kompinente die Paint Prozedur, die genau das Bild verändert, ersetzten und das ausgabebild folgendermaßen erstellen:
ausgabebild:Tbitmap (oder so was in der art)
ausgabebild gräulich einfärben
per bitblt (oder war es bitbtl?) das Icon auf das ausgabebild pressen,
und das ausgabebild, schließlichz irgenwei so ausgeben, wie in der Vorgänger Komponente das Verpixelte.


Gruß Alexander

PS: ich hoffe das war verständlich, bzw. der einfachste weg.

Andreas L. 6. Okt 2007 16:19

Re: Spezielle ListView bzw. ListBox gesucht
 
dann kann ich ja gleich wieder ne Menge Panels auf das Form knallen. Das geht dann einfacher und schneller. Es muss doch eine ordentliche Komponente geben...

Alexander Roth 6. Okt 2007 16:28

Re: Spezielle ListView bzw. ListBox gesucht
 
Panels? Icons auf Panels? Wie willst du denn da ein ListView mit hinkriegen?
Das ist nicht gerade eine saubere Methode. Und bestimmt um Welten langsamer, als meine Methode.
Auch wenn meine Methode viel Arbeit ist.


Zitat:

Zitat von Andreas L.
Es muss doch eine ordentliche Komponente geben...

Für so was spezielles...


Gruß Alexander

Andreas L. 6. Okt 2007 16:53

Re: Spezielle ListView bzw. ListBox gesucht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Alexander Roth
Panels? Icons auf Panels? Wie willst du denn da ein ListView mit hinkriegen?
Das ist nicht gerade eine saubere Methode. Und bestimmt um Welten langsamer, als meine Methode.
Auch wenn meine Methode viel Arbeit ist.


Zitat:

Zitat von Andreas L.
Es muss doch eine ordentliche Komponente geben...

Für so was spezielles...


Gruß Alexander

Speziell ist es auf keinen Fall, dass haben hunderte von Anwendungen.

Mit Panels siehts so aus wie im Screenshot!

Alexander Roth 6. Okt 2007 17:24

Re: Spezielle ListView bzw. ListBox gesucht
 
Hm...
Mit der Hintergrundfarbe das blau erzeugen?
Also ist jeder Eintrag ein Panel (ohne sichtabren Rand)?

Wenns klappt ist ja ok. Aber ich wüsste jetzt halt nur den Weg die Komponente umzuschreiben, wenn du keine passende findest.


Gruß Alexander

Andreas L. 6. Okt 2007 17:28

Re: Spezielle ListView bzw. ListBox gesucht
 
Mit den Panels funktionierts ja wunderbar. Ist aber immer eine Sauarbeit wenn ein neuer Menüpunkt dazukommt. Deshalb suche ich eine Komponente...

Andreas L. 7. Okt 2007 13:05

Re: Spezielle ListView bzw. ListBox gesucht
 
Ich habe mir jetzt nochmal die Virtual Tree View angeschaut. Anhand der Demos kann man sehen das meine Liste damit gebastelt werden kann. Aber anscheinend nur zur Runtime. Ich habe im OI keine Eigenschaft gefunden, die es mir ermöglicht, zur DesignTime Items zu erstellen. Habe ich was übersehen oder wie geht das?

DGL-luke 7. Okt 2007 13:14

Re: Spezielle ListView bzw. ListBox gesucht
 
Ja, die Treeview ist virtuell.

Es reicht aber:

- OnGetImageIndex zu implementieren
- InGetNodeText zu implementieren
- InitialNodeCount zuzuweisen.

Andreas L. 7. Okt 2007 13:23

Re: Spezielle ListView bzw. ListBox gesucht
 
Zitat:

Zitat von DGL-luke
Ja, die Treeview ist virtuell.

Es reicht aber:

- OnGetImageIndex zu implementieren
- InGetNodeText zu implementieren
- InitialNodeCount zuzuweisen.

Und wie? Stehe irgendwie ein bisschen am Schlauch...

mimi 7. Okt 2007 18:16

Re: Spezielle ListView bzw. ListBox gesucht
 
hier gibt es ein Tutorial dazu:
http://www.dsdt.info/tutorials/virtualtreeview/?page=1

_frank_ 7. Okt 2007 18:52

Re: Spezielle ListView bzw. ListBox gesucht
 
für den zweck gleich ein VirtualTreeview verwenden, gut, wers unbedingt will (oder eh installiert hat).
vielleicht hab ich auch was überlesen, aber warum baust du dir net aus ner standard-listbox per ownerdraw, das, was du brauchst? dürfte ja kein Problem sein. Das Bild selbst hältst in dem Objects-property, beim Add erzeugst du die Imageklasse, beim Delete gibst du sie frei. musst mal schauen, welche methoden du da überschreiben musst...
vermutlich musst du das items-property protected machen (direktzugriff verhindern) und dir 2 eigene methoden zum add/delete /item holen erstellen
zum Zuweisen erstellst ne neue Methode. dann brauchstes nur noch malen (Paint überschreiben).
ggf. measureItem anpassen, damit die items höher werden.

HTH Frank

mimi 8. Okt 2007 16:25

Re: Spezielle ListView bzw. ListBox gesucht
 
Es gibt viele Möglichkeiten, ich glaube eine Listview würde auch gehen, wenn man sie "leicht" verändert.

Ich meine sogar die Listbox hat die Möglichkeiten die Einträge Nebeneinander anzuzeigen oder ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz