Bei vielen Farben könne man es auch so machen:
Delphi-Quellcode:
type
TFarbe = record
Name: String;
Farbe: TColor;
end;
const
MaxFarben = 2;
MeineFarben: array[0..MaxFarben] of TFarbe =
((Name: 'test1'; Farbe: clred),
(Name: 'test2'; Farbe: clyellow),
(Name: 'test2'; Farbe: clgreen));
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
i: Word;
begin
for i := 0 to MaxFarben do
begin
if ComboBox1.Items.Strings[Index] = MeineFarben[i].Name then
ComboBox1.Canvas.Brush.Color := MeineFarben[i].Farbe;
end;
end;