![]() |
Transparentes Bitmap aus TImageList/Resource-Datei
Hallo!
Ich entwickle gerade eine von TComboBoxEx abgeleitete Klasse, die eine vorbelegte Combobox mit Icons links neben den Einträgen darstellen soll (deswegen TComboBoxEx). Um die ComboBox mit Icons zu versorgen benötigt man eine TImageList-Komponente, die ich beim Erzeugen der Komponente mit erzeuge. Die Bitmaps für die Image-Liste werden aus einer Resource-Datei geladen, was auch hervorragend klappt. Das einzige Problem, das ich jetzt noch habe ist, dass die Hintergrundfarbe der Bitmaps nicht durchsichtig ist. Folgender Code füllt die Combo-Box:
Delphi-Quellcode:
Wie gesagt, im Prinzip funktioniert der Code, die Hintergrundfarbe der Icons wird aber nicht transparent angezeigt. Ich habe auch schon versucht anstelle einer Ressource vom Typ Bitmap eine Ressource vom Typ Symbol (mit dem selben Namen) zu verwenden. Diese Resource hat Delphi dann aber nicht mehr gefunden. Wahrscheinlich ist das hier ein ganz blöder Fehler, ich komm' momentan einfach nur nicht drauf.
procedure TmyComboBox.DropDown;
var myBitmap : Graphics.TBitmap; i : Integer; begin inherited DropDown; if Items.Count = 0 then begin Cursor := crHourGlass; myBitmap := TBitmap.Create; myBitmap.LoadFromResourceName(HInstance,'MYIMAGE'); // Nächste Zeile bewirkt nichts myBitmap.Transparent := TRUE; FPrtImage.Add(myBitmap,nil); FillComboBox; Cursor := crDefault; for i := 0 to ItemsEx.Count-1 do ItemsEx[i].ImageIndex := 0; myBitmap.Free; end; end; Viele Grüsse und schon mal vielen Dank Frank :coder: |
Re: Transparentes Bitmap aus TImageList/Resource-Datei
Versuch es mal damit:
Delphi-Quellcode:
Im Beispiel wird die Farbe des linken unteren Pixels als Transparenzfarbe verwendet.
FPrtImage.AddMasked(myBitmap,myBitmap.Canvas.Pixels[0,myBitmap.Height-1]);
|
Re: Transparentes Bitmap aus TImageList/Resource-Datei
Hi FriFra!
Perfekt, das wars. :dancer: Vielen Dank und viele Grüsse Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz