Delphi-PRAXiS
Seite 1 von 2  1 2      

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 ListView & Bilder: "Miniaturansicht vom Explorer" (https://www.delphipraxis.net/91949-listview-bilder-miniaturansicht-vom-explorer.html)

EConvertError 12. Mai 2007 10:40


ListView & Bilder: "Miniaturansicht vom Explorer&qu
 
Hallo!

In letzter Zeit brauche ich eure Hilfe wieder etwas häufiger:

Diesmal will ich in einer ListView Bilder anzeigen, genauso wie es der Explorer bei Bildern macht, wenn man "Miniaturansicht" eingestellt hat. Hierbei ist nicht das Problem, wie ich Thumbnails erstelle, sondern wie ich sie in die ListView reinbekomme.

Bisher habe ich mich mit der normalen TListView und deren OwnerDraw-Funktionen gespielt, bisher ohne Erfolg. Ist das damit überhaupt möglich?

MIt der Virtual TreeView von Mike Lischke bin ich ebenfalls vertraut, wie derartiges funktionieren könnte, weiß ich aber leider trotzdem nicht.

Hat jemand ein Codeschnipsel parat, das meinen Anforderungen genügen würde?

Vielen Dank,
Andreas

Tommy1988 12. Mai 2007 10:42

Re: ListView & Bilder: "Miniaturansicht vom Explore
 
Benutz doch die Komponente
ShellListView

Da hast du alle Symbole schon drin.

EConvertError 12. Mai 2007 10:49

Re: ListView & Bilder: "Miniaturansicht vom Explore
 
Das ist nicht möglich, da meine Bilder nicht vom Dateisystem kommen.

Ich will Bilder in der ListView lediglich so anzeigen, wie es der Explorer mit der Einstellung "Miniaturansicht" (unter Windows XP) macht.

Trotzdem danke,
Andreas

arbu man 12. Mai 2007 11:05

Re: ListView & Bilder: "Miniaturansicht vom Explore
 
Guck mal in die JVCL das müsste es so eine Komponente geben.

bitsetter 12. Mai 2007 11:22

Re: ListView & Bilder: "Miniaturansicht vom Explore
 
Hi,

eventuell hilft dir dieser Beitrag weiter.

EConvertError 20. Mai 2007 11:49

Re: ListView & Bilder: "Miniaturansicht vom Explore
 
Tut mir Leid für die späte Antwort. Habe eure Meldungen leider komlett verschwitzt. :oops:

Wie heißt denn die Komponente aus der JVCL?

Der Link sieht übrigens vielversprechend aus, wenn auch etwas improvisiert. Vielleicht kann ich mir mit Hilfe der JVCL etwas geeigneteres basteln.

Danke,
Andreas

DGL-luke 20. Mai 2007 12:27

Re: ListView & Bilder: "Miniaturansicht vom Explore
 
Hallo,

du solltest in der TListView die Eigenschaft ViewStyle finden.

DeluxXx 20. Mai 2007 12:48

Re: ListView & Bilder: "Miniaturansicht vom Explore
 
Delphi-Quellcode:
var
ListItem : TListItem ;
begin
 Listview1.ViewStyle := VsIcon ;
 Listview1.SmallImages := Imagelist1 ; //die Imagelist1 sollte deine Thumbnails enthalten
 //erstellen eines Eintrags
 ListItem := ListView1.Items.Add ;
 ListItem.Caption := 'Test' ;
 ListItem.ImageIndex := 0; //hier die Bild position in der Imageliste benutzen
...
end;

EConvertError 29. Mai 2007 10:15

Re: ListView & Bilder: "Miniaturansicht vom Explore
 
Danke, das funktioniert so weit. Problematisch wird es nur, wenn ich mehrere hundert Thumbnails in die ImageList geladen habe.

Deshalb experimentiere ich gerade mit OwnerData und dem Event GetImageIndex herum. Da kann ich dann immer nur das benötigte Bild laden. Wie ich die gerade nicht mehr benötigten Bilder wieder aus der ImageList rauslösche, weiß ich auch nicht so genau, weil sich sonst während des Bilder ansehens beträchtliche Mengen an Thumbnails in der ImageList ansammeln könnten...

Zoomen muss ich auch noch irgendwie implementieren. Wird wohl irgendwie so funktionieren:
1) Erstellen größerer/kleinerer Thumbnails.
2) In eine ImageList knallen.
3) Anzeigen.

Schwierig wird nur, dass das schnell wird...

Leider finde ich es etwas umständlich mit einer ImageList arbeiten zu müssen, weshalb ich nach der JVCL-Komponente gefragt habe. Mir wäre es nämlich lieber, die Thumbnails als Bitmaps selbst zu verwalten und bei Bedarf selbst reinzuzeichnen. OnAdvancedCustomDrawItem scheint auch nicht weiterzufhelfen...

Vielen Dank,
Andreas

bitsetter 30. Mai 2007 13:33

Re: ListView & Bilder: "Miniaturansicht vom Explore
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

man kann wenn man im onCustomDrawItem Event selber zeichnet auch auf die TImagelist fast verzichten. Die benötigt man jedoch noch, um die Größe der angezeigten Bilder festzulegen. Wenn man ohne TImagelist arbeitet, dann geht es allerdings auf Kosten der Performance.
Item.Data könnte natürlich auch auf ein Bild im Speicher zeigen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 Uhr.
Seite 1 von 2  1 2      

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