Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Wie ein TComboBox Hintergrundfarbe ändern ?

  Alt 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)
  Mit Zitat antworten Zitat