ich erzeuge zur Laufzeit eine Imagelist und weise sie der Eigenschaft StateImages eines Listviews zu. Gefühlt wird das Listview mit folgenden Code:
Code: Alles auswählen
for i := 0 to localListing.FolderCount - 1 do begin
fLocalImageList.Add(localListing.GetFolder(i).Icon, nil);
with lvLocal.Items.Add do begin
Caption := localListing.GetFolder(i).DisplayName;
SubItems.Add(DateTimeToStr(localListing.GetFolder(i).Date));
ImageIndex := i;
end;
end;
lvLocal ist in meinem Beispiel das Listview und fLocalImageList die besagte dynamisch erzeugte Imageliste. Ein Testausgabe von fLocalImageList.Count zeigt auch, dass sich die Anzahl der Icons in der Imagelist erhöht.
Das Problem ist nun, dass trotz eines unterschiedlichen ImageIndex anscheinend immer nur das erste Icon aus der Imageliste im Listview angezeigt wird. Wie kann ich überprüfen, welche Images in der Imagelist angekommen sind und gibt es vielleicht noch nen anderen Ansatz, wo ich nach dem Problem suchen könnte?
Vielen Dank schonmal
Hitzi
[EDIT]
Folgender Code zeigt mir das letzte Icon aus der Imagelist an und beweist mir, dass die Icons ordentlich in die Imagelist geladen werden (ist ein anderes Icon, als das von dem Listview):
Code: Alles auswählen
var t : Graphics.TBitmap;
[...]
t := Graphics.TBitmap.Create;
fLocalImageList.GetBitmap(fLocalImageList.Count - 1, t);
image1.Picture.Bitmap := t;