Einzelnen Beitrag anzeigen

raiguen
(Gast)

n/a Beiträge
 
#9

Re: ComboBox -> Mehrfarbig gestalten

  Alt 24. Apr 2007, 17:45
Zitat von HolgerCW:
wie kann ich es denn jetzt realisieren, das jeder Wert in der Combobox abgefragt wird ...
So z.B.
Delphi-Quellcode:
procedure TForm1.ComboBox1DrawItem(Control: TWinControl;
  Index: Integer; Rect: TRect; State: TOwnerDrawState);
var farbe: TColor;
begin
  farbe := ComboBox1.Color; //Hintergrundfarbe für alle Items, die nicht eine spezielle Farbe haben

  //--'Inhalt' der Zeile abfragen und ggf. spezielle Farbe zuweisen
  if ComboBox1.Items[Index] = 'Testthen farbe:= clGray;
  if ComboBox1.Items[Index] = 'Test1then farbe:= clNavy;
  if ComboBox1.Items[Index] = 'Test2then farbe:= clYellow;
  
  //-- Zeile mit der entsprechenden Farbe zeichen; standard=Combobox-Farbe (oder eine beliebige andere)
  with ComboBox1, ComboBox1.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;
  Mit Zitat antworten Zitat