Einzelnen Beitrag anzeigen

frankg

Registriert seit: 20. Mai 2003
Ort: Wetter
72 Beiträge
 
Delphi 7 Architect
 
#1

Transparentes Bitmap aus TImageList/Resource-Datei

  Alt 17. Jul 2003, 12:17
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:
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;
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.

Viele Grüsse und schon mal vielen Dank

Frank
  Mit Zitat antworten Zitat