GARANTIR DESCONTO

Fórum Combobox delphi #551247

12/04/2016

0

Tenho um combobox de uns 40 itens, e gostaria que os itens de 0 a 10 ficassem de uma cor e os de 11 a 20 de outra e assim sucessivamente. Que código poderia usar?
Estou usando o delphi 10.

Obrigado galera.
Josean

Josean

Responder

Post mais votado

12/04/2016

Teste isso:
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  ComboBox1.Canvas.FillRect(Rect);
  if Index in [1..10] then
    ComboBox1.Canvas.Font.Color := clBlue
  else if Index in [11..20] then
    ComboBox1.Canvas.Font.Color := clGreen
  else if Index in [21..30] then
    ComboBox1.Canvas.Font.Color := clRed
  else if Index in [31..40] then
    ComboBox1.Canvas.Font.Color := clPurple;
  ComboBox1.Canvas.TextOut(Rect.Left, Rect.Top, ComboBox1.Items[Index]);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.Style := csOwnerDrawFixed;
end;

[img]http://arquivo.devmedia.com.br/forum/imagem/244662-20160412-223337.png[/img]

Raylan Zibel

Raylan Zibel
Responder

Gostei + 3

Mais Posts

13/04/2016

Josean

Funcionou perfeitamente, muito obrigado.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar