Du musst der Imagelist nur beibringen, dass sie Alpha-Kanäle verkraften soll. Code-Fetzen, den ich aus dem Usenet habe:
Delphi-Quellcode:
type
TILConvertColorType = (
cctColor8,
// ICL_COLOR8
cctColor16,
// ICL_COLOR16
cctColor24,
// ICL_COLOR24
cctColor32
// ICL_COLOR32
);
procedure ILConvertColor (ImageList : TImageList;
const ColorType : TILConvertColorType);
var
IL : TImageList;
Flags : LongWord;
begin
Flags := ILC_MASK;
case ColorType
of
cctColor8 : Flags := Flags
or ILC_COLOR8;
cctColor16 : Flags := Flags
or ILC_COLOR16;
cctColor24 : Flags := Flags
or ILC_COLOR24;
cctColor32 : Flags := Flags
or ILC_COLOR32;
end;
IL := TImageList.Create(
nil);
try
IL.Assign(ImageList);
with ImageList
do
Handle := ImageList_Create(Width, Height, Flags, Count, AllocBy);
ImageList.Assign(
IL);
finally
IL.Free;
end;
end;
Verwendung: Zur Designzeit ganz normal die Bilder in die Liste einfügen, dann zur Laufzeit die Liste einmal mit obiger Funktion konvertieren.
Daniel R. Wolf
mit Grüßen aus Hamburg