یک کامبو باکس با رنگ های متفاوت در گزینه ها

برای داشتن یک کامبو باکس با گزینه های که رنگ های گزینه ها با هم فرق می کند می توان از این روش استفاده کرد

 
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with (Control as TComboBox) do
  begin
    {The Odd Items in Red, the others in black}
    {Los Items pares de color rojo}
    {Los impares en negro}
    if Odd(Index) then Canvas.Font.Color:=clRed
                  else Canvas.Font.Color:=clBlack;
    Canvas.FillRect(Rect);
    Canvas.TextOut(Rect.Left,Rect.Top,Items[Index]);
  end;
end;

/ 0 نظر / 16 بازدید