Fórum Mudar a cor da font do CheckBox qdo Clicado #377660
15/05/2010
0
procedure TFrmPadrao.CheckBoxClicado;Var x: Integer;begin // Configura o componente CheckBox for x := 0 to ComponentCount - 1 do if (Components[x] is TCheckBox) then begin case (Components[x] as TCheckBox).State of cbUnchecked: TColorControl(Components[x] as TCheckBox).Font.Color := clWindowText; cbChecked : TColorControl(Components[x] as TCheckBox).Font.Color := clRed; end; end;end;
tentei chamar assim
procedure TFrmPadrao.CheckBox1Click(Sender: TObject);begin CheckBoxClicado;// CheckBox1.Font.Color := clRed;end;
e não consegui, alguem já conseguir fazer isto??
José Silva.
Curtir tópico
+ 0Posts
16/05/2010
Marco Salles
Gostei + 0
17/05/2010
José Silva.
Gostei + 0
17/05/2010
Marco Salles
Gostei + 0
17/05/2010
José Silva.
MARCO ANTONIO SALLES, isso eu já sei!!!Se você disponibilizar esse tutorial, ira ajudar não só a mim como também todos(iniciantes é claro) que procuram por essa solução.Desde já agradeço
Gostei + 0
17/05/2010
Marco Salles
Gostei + 0
18/05/2010
Lartedesign
Minha dica é nao complique uma coisa tão simples. Sua solução está aqui
No evento onclick do CheckBox coloque da seguinte forma
procedure TFrmPadrao.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked = True then //se estiver selecionado a cor do texto será vermelho begin CheckBox1.Font.Color := clRed; end else // se nao estiver selecionado a cor do texto será Preto begin CheckBox1.Font.Color := clWindowText; end; end;
Apenas isso .
Espero ter ajudado
lartedesign.
www.lartedesign.com.br
Leandro
Gostei + 0
18/05/2010
Lartedesign
Minha dica é nao complique uma coisa tão simples. Sua solução está aqui
No evento onclick do CheckBox coloque da seguinte forma
procedure TFrmPadrao.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked = True then //se estiver selecionado a cor do texto será vermelho begin CheckBox1.Font.Color := clRed; end else // se nao estiver selecionado a cor do texto será Preto begin CheckBox1.Font.Color := clWindowText; end; end;
Apenas isso .
Espero ter ajudado
lartedesign.
www.lartedesign.com.br
Leandro
Gostei + 0
18/05/2010
Marco Salles
Gostei + 0
18/05/2010
José Silva.
Gostei + 0
18/05/2010
Lartedesign
WINXP . DELPHI 7
SEGUNDA DO JOSÉ FRANCISCO DA SILVA.
se vc usa um checkbox uq pode ser diferente no componente ?
uq esta acontecendo quando vce testa a aplicação ??? qual delphi vc utiliza ???
Gostei + 0
18/05/2010
Emerson Nascimento
tente assim:
procedure TFormPadrao.CheckBox1Click(Sender: TObject);
begin
CheckBoxClicado(TCheckBox(Sender));
end;
procedure TFormPadrao.CheckBoxClicado(chkBox: TCheckBox);
begin
if chkBox.Checked then
chkBox.Font.Color := clGreen
else
chkBox.Font.Color := clWindowText;
end;
Gostei + 0
18/05/2010
José Silva.
se vc usa um checkbox uq pode ser diferente no componente ?
Não é que é um componente diferente, mas sim diferenciado no que diz respeito a alteração da font
uq esta acontecendo quando vce testa a aplicação ??? qual delphi vc utiliza ???
Simplesmente não muda a cor da font Delphi 2010 Desde já agradeço sua resposta
Gostei + 0
18/05/2010
José Silva.
Gostei + 0
19/05/2010
José Silva.
tentei assim:
procedure TFormPadrao.CheckBox1Click(Sender:
TObject);begin CheckBoxClicado(TCheckBox(Sender));end;
procedure TFormPadrao.CheckBoxClicado(chkBox: TCheckBox);begin if chkBox.Checked then chkBox.Font.Color := clGreen else chkBox.Font.Color := clWindowText;end;
E não surtiu o efeito esperado, ou seja, não mudou a cor da
font, mas engraçado que usando assim:
procedure
TFormPadrao.CheckBoxClicado(chkBox: TCheckBox);begin if chkBox.Checked then chkBox.Font .Style := [fsBold] else chkBox.Font .Style := [];end;
consegui que o estilo ficasse em NEGRITO.
Estou cada vez mais convencido que esse componente NÃO ACEITA MUDAR A
COR DA FONT, Nem os mais experientes desta comunidade conseguiram este feito.
Fico no aguardo
Mais uma vez obrigado
Emerson
Gostei + 0
19/05/2010
Marco Salles
procedure TButtonControl.CNCtlColorStatic(var Message: TWMCtlColorStatic);
begin
with ThemeServices do
if ThemeControl(Self) then
begin
if (Parent <> nil) and Parent.DoubleBuffered then
PerformEraseBackground(Self, Message.ChildDC)
else
DrawParentBackground(Handle, Message.ChildDC, nil, False);
{ Return an empty brush to prevent Windows from overpainting we just have created. }
Message.Result := GetStockObject(NULL_BRUSH);
end
else
inherited;
end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)