Problemas com CheckListBox
Boa tarde pessoal!
Alguém sabe como mudar a cor da fonte dos itens de um CheckListBox ??
Agradeço a quem puder ajudar!
Alguém sabe como mudar a cor da fonte dos itens de um CheckListBox ??
Agradeço a quem puder ajudar!
Vfmartins
Curtidas 0
Respostas
Mayron Cachina
02/10/2007
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:
acho que dai da pra vc ter uma idéia de mudar a cor da fonte...
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...
GOSTEI 0
Vfmartins
02/10/2007
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!!
´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!!
GOSTEI 0
Mayron Cachina
02/10/2007
eu tenho isso pronto lá em casa eu acho...
até de noite eu vou tentar postar aqui, blz!
até de noite eu vou tentar postar aqui, blz!
GOSTEI 0
Mayron Cachina
02/10/2007
olha.. aqui deu certo..
to mandando um exemplo feito no delphi 7...
http://www.4shared.com/file/25618271/54a83ad2/CheckListBox.html?dirPwdVerified=d964819f
to mandando um exemplo feito no delphi 7...
http://www.4shared.com/file/25618271/54a83ad2/CheckListBox.html?dirPwdVerified=d964819f
GOSTEI 0
Vfmartins
02/10/2007
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????
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????
GOSTEI 0
Paulo
02/10/2007
No OnClick do botão, você chama o OnDraw do Checlist.
GOSTEI 0
Mayron Cachina
02/10/2007
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....
GOSTEI 0
Vfmartins
02/10/2007
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!!
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!!
GOSTEI 0
Mayron Cachina
02/10/2007
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...
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;
GOSTEI 0
Vfmartins
02/10/2007
realmente pessoal, no button não funciona msm!!
bom, de qualquer forma agradeço por tentarem me ajudar!!
bom, de qualquer forma agradeço por tentarem me ajudar!!
GOSTEI 0