![]() |
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 |
Re: ListView & Bilder: "Miniaturansicht vom Explore
Benutz doch die Komponente
ShellListView Da hast du alle Symbole schon drin. |
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 |
Re: ListView & Bilder: "Miniaturansicht vom Explore
Guck mal in die JVCL das müsste es so eine Komponente geben.
|
Re: ListView & Bilder: "Miniaturansicht vom Explore
|
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 |
Re: ListView & Bilder: "Miniaturansicht vom Explore
Hallo,
du solltest in der TListView die Eigenschaft ViewStyle finden. |
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; |
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 |
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. |
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