Fórum Problemas com CheckListBox #346908

02/10/2007

0

Boa tarde pessoal!

Alguém sabe como mudar a cor da fonte dos itens de um CheckListBox ??

Agradeço a quem puder ajudar!


Vfmartins

Vfmartins

Responder

Posts

02/10/2007

Mayron Cachina

Existe uma forma simples de fazer este tipo de trabalho. Inclua alguns itens no seu CheckListBox, vá até a propriedade Style e altere para lbOwnerDrawVariable, agora vá até ao evento OnDrawItem e inclua o código abaixo:

 CheckListBox1.Canvas.FillRect(Rect);
if not (odFocused in State) then
begin
if CheckListBox1.Checked[index] then
begin
CheckListBox1.Canvas.Font.Color := clRed;
CheckListBox1.Canvas.Brush.Color := clWhite;
end
else
begin
CheckListBox1.Canvas.Font.Color :=
clBlack;
CheckListBox1.Canvas.Brush.Color :=
clWhite;
end;
end;
CheckListBox1.Canvas.TextOut(Rect.Left+2,Rect.
Top,CheckListBox1.Items.Strings[Index]);


acho que dai da pra vc ter uma idéia de mudar a cor da fonte...


Responder

Gostei + 0

03/10/2007

Vfmartins

Mayron Cachina, eu tentei da forma que vc explicou, mas deu o seguinte erro:

´No enough actual paramters´

e parou na linha:

´CheckListBox2.Canvas.FillRect(Rect);´

Vc sabe o que ha de errado? Ou alguém sabe?
Agradeço se puder me ajudar!!


Responder

Gostei + 0

03/10/2007

Mayron Cachina

eu tenho isso pronto lá em casa eu acho...
até de noite eu vou tentar postar aqui, blz!


Responder

Gostei + 0

03/10/2007

Mayron Cachina

olha.. aqui deu certo..
to mandando um exemplo feito no delphi 7...

http://www.4shared.com/file/25618271/54a83ad2/CheckListBox.html?dirPwdVerified=d964819f


Responder

Gostei + 0

03/10/2007

Vfmartins

cara, obrigado pela ajuda, mas ainda não consegui resolver meu problema..

no seu exemplo vc colocou as condições no ´CheckListBox1DrawItem´ e funcionou, mas eu preciso que seja colocado no ´onclick de um button´, aí não funciona...

o que eu faço????


Responder

Gostei + 0

03/10/2007

Paulo

No OnClick do botão, você chama o OnDraw do Checlist.


Responder

Gostei + 0

03/10/2007

Mayron Cachina

No OnClick do botão, você chama o OnDraw do Checlist.

não dá, ele n faz a opção...

rpz não sei n, viu...
apertando o botão eu n consegui fazer....


Responder

Gostei + 0

04/10/2007

Vfmartins

Que pena, é algo do tipo que eu preciso!!

Alguém sabe me dizer alguma maneira (não precisa ser exatamente mudar as cores dos itens), mas preciso encontrar uma forma de diferenciar um item do outro ao clicar em um botão.

Por favor, agradeço mto a quem puder me ajudar!!


Responder

Gostei + 0

04/10/2007

Mayron Cachina

vc terá que fazer algo nesse estilo.. sendo que terá que trartar esse if de uma forma diferente, pois vc terá que ver qual foi o index do check q vc ta apertando e se vc colocar isso ai no botão eu acho q n vai funcionar não...
mais já é meio caminho andado...
if CheckListBox1.Checked[index] then
begin
CheckListBox1.Canvas.Font.Color := clRed;
CheckListBox1.Canvas.Brush.Color := clWhite;
end
else
begin
CheckListBox1.Canvas.Font.Color :=
clBlack;
CheckListBox1.Canvas.Brush.Color :=
clWhite;
end; 



Responder

Gostei + 0

08/10/2007

Vfmartins

realmente pessoal, no button não funciona msm!!
bom, de qualquer forma agradeço por tentarem me ajudar!!


Responder

Gostei + 0

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

Aceitar