Ajuda - Busca - Membros - Calendário
Versão Completa: Destacar Linha De Um Listbox Com Uma Cor.
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
Paulo Nobre
Prezados Colegas,
Gostaria de saber como faço, para ao clicar em uma linha de um listbox(memo),
que ela fique de uma cor, por exemplo clRed.
É claro, que ao clicar em outra diferente a linha anterior voltaria a cor normal.
Micheus
Paulo, troque a propriedade Style do listbox para lbOwnerDrawFixed e escreva o código no evendo OnDrawItem:
CODE
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with Control as TListBox do
  begin
    if odSelected in State then
    begin
      Canvas.Font.Color := clRed;
      Canvas.Brush.Color := clMenuHighlight
    end else
    begin
      Canvas.Font.Color := clWindowText;
      Canvas.Brush.Color := clWindow;
    end;
    Canvas.FillRect(Rect);
    Canvas.TextOut(Rect.Left +2, Rect.Top +1, Items[Index]);
  end;
end;


Paulo Nobre
Micheus ,

Muito obrigado pelo código.
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.