ImageList zur Laufzeit füllen
-
Hi,
ich brauche in einer ImageList zur Laufzeit Bilder aus verschiedenen Ordnern. Kann man der ImageList einen Ordner übergeben und die Bilder werden automatisch reingeladen ?
Ich denke nicht, von daher gleich eine Anschlussfrage. In meiner Datenbank ist der Pfad mit Dateinamen der Bilder hinterlegt. Es gibt in der Datenbank aber auch Einträge ohne Bild. Kann ich der ImageList zu jedem Bild einen Tag oder so übergeben, über den ich dann auch den ImageIndex zuweisen kann ?
-
Alle Bilder mit einem Befehl aus einem Verzeichnis in eine ImageList laden geht nicht (zumindest kenne ich keine entsprechende Funktion).
Aber man kann Bilder einzeln aus Grafik- oder Resourcendateien laden.Ich lade z.B. Bilder so aus einer Resourcendatei in eine ImageList:
Graphics::TBitmap *pBitmap = new Graphics::TBitmap(); pBitmap->TransparentMode = Graphics::tmAuto; pBitmap->LoadFromResourece(ResourceInstance,"MyImage"); ImageList->AddMasked(pBitmap,pBitmap->TransparentColor); delete pBitmap;
Bilder aus Grafikdateien können mit LoadFromFile() geladen werden:
pBitmap->LoadFromFile("C:\\MyBitmap.bmp");
Wenn es sich um JPG-Bilder handelt, dann muss TJPGImage zum Laden verwendet werden. Und wenn es mehrere Dateien sind, dann müssen diese eben mit FindFirst()/FindNext() sequenziell geladen werden.