Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
808 Beiträge
 
Delphi 10.4 Sydney
 
#1

bmp Datein TRANSPARENT in TImageList laden

  Alt 11. Nov 2015, 08:51
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
Angehängte Grafiken
Dateityp: bmp Button mit pinkem Hintergrund.bmp (17,0 KB, 10x aufgerufen)
Patrick
  Mit Zitat antworten Zitat