Moin und

im Forum!
Wolfgang-Heidelberg hat folgendes geschrieben: |
Ich wollte jetzt eine Art DiaShow auf einem Formular erstellen.
[...]
Auch will ich diese Bilder vor dem Ablaufen lassen, auswählen können, also in eine TImagelist einschreiben. |
Ich würde dir dringend davon abraten, das über eine ImageList abzuwickeln, denn ich vermute mal, dass die Bilder eher "gross" als "klein" sind, und dafür ist die ImageList nicht ausgelegt (ist für kleine Symbole/Icons im Programmumfeld gedacht). Das könnte sonst zu extremem Speicherverbrauch führen, der dazu garnicht notwendig ist.
Ich würde dir eher diesen Ansatz empfehlen:
- Du definierst einen Ordner, in dem die Bilder zur Auswahl auf der Platte liegen
- Du bietest die Bilder als Dateiname in einer Liste an, bei Klick wird eine Vorschau erstellt
- In einer weiteren Liste sammelst du die Dateinamen der Bilder, die in der Diashow verwendet werden sollen
- Für die Diashow hast du ein Formular mit einem statischen Image (VCL-Kompo), zum Vorbereiten der Anzeige nimmst du ein dynamisch erzeugtes TBitmap
- In der Show-Schleife lädst du dann das nächste Bild in das Temp-Bitmap
- Du kannst dann zum Umschaltzeitpunkt mit Image1.Picture.Bitmap.Assign(TempBitmap); das Bild übernehmen
Auf diese Weise hast du max. 2 Bilder im Speicher; mehr könnte zu Problemen führen.
cu
Narses
There are 10 types of people - those who understand binary and those who don´t.