1 Listbox com linhas de cores diferente..
Bom dia a todos...
Gostaria de escrever em um listbox varias linhas, sendo q cada linha com a cor da fonte diferente:
Exemplo:
[b:a6ea3ddfab]Tentei assim mas naum deu certo[/b:a6ea3ddfab]
alguem pode me dar uma soluçao
desde jah sou muito grato.
Abraços
Gostaria de escrever em um listbox varias linhas, sendo q cada linha com a cor da fonte diferente:
Exemplo:
[color=red:a6ea3ddfab]11111111111111[/color:a6ea3ddfab]
[color=yellow:a6ea3ddfab]33333333333333[/color:a6ea3ddfab]
[color=black:a6ea3ddfab]22222222222222[/color:a6ea3ddfab]
[color=red:a6ea3ddfab]11111111111111[/color:a6ea3ddfab]
[color=yellow:a6ea3ddfab]33333333333333[/color:a6ea3ddfab]
[color=blue:a6ea3ddfab]55555555555555[/color:a6ea3ddfab]
[color=green:a6ea3ddfab]44444444444444[/color:a6ea3ddfab]
[b:a6ea3ddfab]Tentei assim mas naum deu certo[/b:a6ea3ddfab]
procedure TForm1.BitBtn1Click(Sender: TObject); var i : Byte; begin ListBox1.Items.Add(´1111111111111´); ListBox1.Items.Add(´3333333333333´); ListBox1.Items.Add(´2222222222222´); ListBox1.Items.Add(´1111111111111´); ListBox1.Items.Add(´3333333333333´); ListBox1.Items.Add(´5555555555555´); ListBox1.Items.Add(´4444444444444´); with ListBox1 do begin for i := 0 to ListBox1.Count -1 do begin if Pos(´1´,ListBox1.Items[ i]) > 0 then Canvas.Font.Color := clRed else if Pos(´2´,ListBox1.Items[ i ]) > 0 then Canvas.Font.Color := clBlack else if Pos(´3´,ListBox1.Items[ i ]) > 0 then Canvas.Font.Color := clYellow else if Pos(´4´,ListBox1.Items[ i ]) > 0 then Canvas.Font.Color := clGreen else if Pos(´5´,ListBox1.Items[ i ]) > 0 then Canvas.Font.Color := clblue; Canvas.TextOut(ListBox1.ItemRect(i).Left,ListBox1.ItemRect(i).Top,ListBox1.Items[ i ]); end; end; end;
alguem pode me dar uma soluçao
desde jah sou muito grato.
Abraços
Aloizio Castro
Curtidas 0
Respostas
Edilcimar
09/02/2006
no listbox creio que não dá, só dá se for um richedit, dbgrid
GOSTEI 0
Aloizio Castro
09/02/2006
Karo edilcimar... tenho certeza q isto eh possivel, eu tinha um codigo fonte com o tal codigo, soh q perdi no meio de minhas formatacaos...
Lembro q era usado realmente em um ListBox nativo do delphi....
Caso alguem saiba como fazer, agradeço muito se puder compartilhar tal codigo.
Abraços
Lembro q era usado realmente em um ListBox nativo do delphi....
Caso alguem saiba como fazer, agradeço muito se puder compartilhar tal codigo.
Abraços
GOSTEI 0
Aloizio Castro
09/02/2006
Ae.. um amigo me deu a dica...
Abraços
Primeiro altere propriedade Style do ListBox para lbOwnerDrawFixed , depois no evento OnDrawItem do ListBox coloque o seguinte código:
with TListBox(Control).Canvas do begin FillRect(Rect); if(Index mod 2 = 0)then Font.Color := clBlue else Font.Color := clRed; TextOut(Rect.Left,Rect.Top,TListBox(Control).Items[Index]); end;
Abraços
GOSTEI 0