Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
Delphi 11 Alexandria
|
Re: Wie ein TComboBox Hintergrundfarbe ändern ?
2. Mär 2009, 21:06
Hallo madina,
im OnDrawItem Event hinterlegst du folgendes:
Delphi-Quellcode:
procedure TForm1.Combobox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
var meine_Farbe: TColor;
begin
meine_Farbe := ComboBox1.Color;
with ComboBox1, ComboBox1.Canvas do begin
if Index mod 2 = 0 then
begin
meine_Farbe := clWhite;
Font.Color:= clblack;
Brush.Color:= meine_Farbe;
FillRect(Rect);
TextOut(Rect.Left+5, Rect.Top+1, Items[index]);
end
else
begin
meine_Farbe := clRed;
Font.Color:= clblack;
Brush.Color:= meine_Farbe;
FillRect(Rect);
TextOut(Rect.Left+5, Rect.Top+1, Items[index]);
end;
end;
end;
Und nicht vergessen den Style der Combobox auf csOwnerDrawFixed zu setzen.
Jürgen Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
|