Paulo Nobre Postado Agosto 23, 2006 Denunciar Share Postado Agosto 23, 2006 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Agosto 23, 2006 Denunciar Share Postado Agosto 23, 2006 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Agosto 24, 2006 Autor Denunciar Share Postado Agosto 24, 2006 Micheus ,Muito obrigado pelo código. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Andre Nunes Postado Novembro 30, 2017 Denunciar Share Postado Novembro 30, 2017 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Novembro 30, 2017 Denunciar Share Postado Novembro 30, 2017 Se é para usar um ListBox, veja esse exemplo Se é para usar um TCalendar, veja esse exemplo abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.