Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Destacar Linha De Um Listbox Com Uma Cor.


Paulo Nobre

Pergunta

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.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Paulo, troque a propriedade Style do listbox para lbOwnerDrawFixed e escreva o código no evendo OnDrawItem:

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;

Link para o comentário
Compartilhar em outros sites

  • 0

Só é possível fazer isso dentro desse evento? Estou criando um código onde ele marca em vermelho os dias que forem feriado. O que eu queria é que na inclusão do dia na lista ele colorisse assim como faz esse código.

 

Segue uma parte do código

  var
  primeiroDia, ultimoDia: TDateTime;
  dia:string;
  ano,j:Integer;
begin
  ano:= strtoint(FormatDateTime('yyyy',now));
  edtDia.text:= inttostr(cbb1.Itemindex + 1);
  primeiroDia:= EncodeDate(ano ,cbb1.Itemindex + 1,1);
  ultimodia:= EndOfTheMonth(primeirodia);
  lst.Clear;
  for j:=1 To DayOfTheMonth(ultimoDia) do
        begin
                dia:= diaDaSemana(primeiroDia);
                if eFeriado(primeiroDia) then
                        begin
                                feriado:= 'SIM';

                               //Aqui eu quero Colorir o item inserido
                        end;
                lst.Items.Add(FormatDateTime('dd/mm/yyy',primeirodia)+ '   '+ dia+ '   ' + Feriado);
                primeiroDia:= primeiroDia +1;
        end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...