Guten Morgen,
ich möchte eine eigene Klasse für alle verwendeten TImgaLists in meinem Programm verwenden. Daher habe ich die benötigten TImageLists im Code erstellt und muss jetzt die Bilder ebenfalls per Code einlesen. Das mache ich wie folgt:
Delphi-Quellcode:
procedure TBilder.Load_Ribbon_Activ;
var image : TBitmap;
PNG : Tpicture;
Pfad: string;
LSearchRec: TSearchRec;
begin
Pfad:=ExtractFilePath(ParamStr(0))+'\Symbole\48x48_activ\';
FIL_Ribbon_Activ.Height:=48;
FIL_Ribbon_Activ.Width:=48;
FIL_Ribbon_Activ.DrawingStyle:=dsTransparent;
FIL_Ribbon_Activ.BlendColor:=clNone;
png := TPicture.Create;
image := TBitmap.create;
if FindFirst(Pfad + '*.*', faNormal, LSearchRec) = 0 then begin
repeat
if LSearchRec.Attr and faDirectory = 0 then begin
png.LoadFromFile(Pfad+LSearchRec.Name);
image.Assign(png);
FIL_Ribbon_Activ.AddMasked(image,clNone);
end;
until FindNext(LSearchRec) <> 0;
FindClose(LSearchRec);
end;
png.Free;
image.Free;
end;
Im OnCreate-Ereignis der Form weise ich den Buttons dann erst die TImageList zu und gebe dann den Index an
Delphi-Quellcode:
begin
Glow_Start_Drucken.Images:=Bilder.IL_Ribbon_Activ;
Glow_Start_Drucken.ImageIndex:=0;
end;
Da ich die Bild-Dateien mit einer Zahl vorweg benenne (00_zurueck.bmp; 01_vor.bmp) kenne ich auch die Reihenfolge in der TImageList.
Alles klappt. Das einzige, was ich nicht hinbekomme, dass die Bilder auf den Buttons TRANSPARENT angezeigt werden. Ich habe immer die Hintergrundfarbe (siehe Anhang).
Lieder habe ich mit der Suche keine für mich umsetzbare Antwort gefunden, und frage daher in die Runde.
Vielen Dank
Patrick