Hallo zusammen,
ich habe nach dem einfärben der ComboBox in verschieden Farben gesucht, und bin zu diesem Thread gekommen. Mein Problem ist, das ich alles so glaube ich, genau so geamcht habe wie hier gezeigt, jedoch ändern sich meine Farben der ComboBox nicht.
Hier mal mein Code...
Delphi-Quellcode:
procedure TMailSendenForm.CBGruppeAnlegenDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
var Farbe: TColor;
begin
Farbe := CBGruppeAnlegen.Color; //Hintergrundfarbe für alle Items, die nicht eine spezielle Farbe haben
//--'Inhalt' der Zeile abfragen und ggf. spezielle Farbe zuweisen
if CBGruppeAnlegen.Items[Index] = 'Gruppe 1' then Farbe := clLime;
if CBGruppeAnlegen.Items[Index] = 'Gruppe 2' then Farbe:= clYellow;
if CBGruppeAnlegen.Items[Index] = 'Gruppe 3' then Farbe:= clBlue;
if CBGruppeAnlegen.Items[Index] = 'Gruppe 4' then Farbe:= clFuchsia;
if CBGruppeAnlegen.Items[Index] = 'Gruppe 5' then Farbe:= clAqua;
if CBGruppeAnlegen.Items[Index] = 'Gruppe 6' then Farbe:= clMoneyGreen;
if CBGruppeAnlegen.Items[Index] = 'Gruppe 7' then Farbe:= clSkyBlue;
if CBGruppeAnlegen.Items[Index] = 'Gruppe 8' then Farbe:= clNavy;
if CBGruppeAnlegen.Items[Index] = 'Gruppe 9' then Farbe:= clTeal;
if CBGruppeAnlegen.Items[Index] = 'Gruppe 10' then Farbe:= clPurple;
//-- Zeile mit der entsprechenden Farbe zeichen; standard=Combobox-Farbe (oder eine beliebige andere)
with CBGruppeAnlegen, CBGruppeAnlegen.Canvas do begin
Font.Color:= clblack; // SchriftFarbe
Brush.Color:= Farbe; // HintergrundFarbe
FillRect(Rect); // Hintergrund zeichnen
TextOut(Rect.Left+5, Rect.Top+1, Items[index]); // Textausgabe
end;
end;
Vieleicht hat ja jemand eine Idee. Danke schon mal und Gruß
Jens