Como mudar a cor do um dbedit quando receber o focu ?
01/09/2003
0
quando eu pressionar a tecla tab, quero que o proxiomo dbedit receba a cor amarelo e quando prossionar tab de novo o proximo receber a cor amarelo e assim por diante
COMO FAZER ISSO ? :shock: :!:
WESLEY
Wesleygoncavles
Post mais votado
01/09/2003
Fiz um exemplo para ´pintar´ o componente Edit que esteja em foco.
Acrescente a seguinte procedure ao seu formulário.
procedure TForm1.Pinta(Sender: TObject); var nI: Integer; begin For nI := 0 to ComponentCount-1 do begin if (Components[nI] is TEdit) then begin if TEdit(Components[nI]).Focused then TEdit(Components[nI]).Color := clYellow else TEdit(Components[nI]).Color := clWhite; end; end; end;
No evento OnCreate do form, adicione o seguinte:
procedure TForm1.FormCreate(Sender: TObject); var nI: Integer; begin For nI := 0 to ComponentCount-1 do if (Components[nI] is TEdit) then (Components[nI] as TEdit).OnEnter := Pinta; end;
Nesta implementação, dispensa a necessidade de adicionar código nos eventos OnEnter e OnExit de cada componente Edit, onde qualquer componente Edit que receba o foco, terá sua cor ´destacada´.
Aroldo Zanela
Mais Posts
01/09/2003
Tecrogerio
Ex:
OnExit do DbEdit1
DbEdit2.color := clinfokb;
DbEdit1.color := clmenu;(ou outra cor que preferir)
tecrogerio@hotmail.com
01/09/2003
Vcahy
if (Sender is TDBEdit) then
TDBEdit(Sender).Color:=ClBlue;
end;
No OnExit:
if (Sender is TDBEdit) then
// mudar a cor do componente
TDBEdit(Sender).Color:=clWindow;
end;
Valeu! :D
Vladimir
07/05/2015
Alisson Sudak
Fiz um exemplo para ´pintar´ o componente Edit que esteja em foco.
Acrescente a seguinte procedure ao seu formulário.
[code:1:533fdcb4c6]
procedure TForm1.Pinta(Sender: TObject);
var nI: Integer;
begin
For nI := 0 to ComponentCount-1 do
begin
if (Components[nI&93; is TEdit) then
begin
if TEdit(Components&91;nI&93;).Focused then
TEdit(Components&91;nI&93;).Color := clYellow
else
TEdit(Components&91;nI&93;).Color := clWhite;
end;
end;
end;
[/code:1:533fdcb4c6]
No evento OnCreate do form, adicione o seguinte:
[code:1:533fdcb4c6]
procedure TForm1.FormCreate(Sender: TObject);
var nI: Integer;
begin
For nI := 0 to ComponentCount-1 do
if (Components&91;nI&93; is TEdit) then
(Components&91;nI&93; as TEdit).OnEnter := Pinta;
end;
[/code:1:533fdcb4c6]
Nesta implementação, dispensa a necessidade de adicionar código nos eventos OnEnter e OnExit de cada componente Edit, onde qualquer componente Edit que receba o foco, terá sua cor ´destacada´.
Amigo esse código é complicado usar pois o evento On-enter não passa por ele despesa os códigos dele e eu gostaria de usar tanto On-enter quanto o On-exit
pois no código que tenho os dois alteram a cor do componente! porem fica impossibilitado de usar outra programação neles.
vc teria uma outra forma de fazer essa troca de cor funcionar pra todos os componentes sem 'anular' os dois eventos?
18/04/2019
José Menezes
Fiz um exemplo para ´pintar´ o componente Edit que esteja em foco.
Acrescente a seguinte procedure ao seu formulário.
[code:1:533fdcb4c6]
procedure TForm1.Pinta(Sender: TObject);
var nI: Integer;
begin
For nI := 0 to ComponentCount-1 do
begin
if (Components[nI&93; is TEdit) then
begin
if TEdit(Components&91;nI&93;).Focused then
TEdit(Components&91;nI&93;).Color := clYellow
else
TEdit(Components&91;nI&93;).Color := clWhite;
end;
end;
end;
[/code:1:533fdcb4c6]
No evento OnCreate do form, adicione o seguinte:
[code:1:533fdcb4c6]
procedure TForm1.FormCreate(Sender: TObject);
var nI: Integer;
begin
For nI := 0 to ComponentCount-1 do
if (Components&91;nI&93; is TEdit) then
(Components&91;nI&93; as TEdit).OnEnter := Pinta;
end;
[/code:1:533fdcb4c6]
Nesta implementação, dispensa a necessidade de adicionar código nos eventos OnEnter e OnExit de cada componente Edit, onde qualquer componente Edit que receba o foco, terá sua cor ´destacada´.
18/04/2019
Emerson Nascimento
https://marcosalles.wordpress.com/2009/09/12/funcao-q-muda-a-cor-quando-muda-o-foco-p-toda-a-aplicacao/
18/04/2019
Emerson Nascimento
https://www.devmedia.com.br/forum/funcao-q-muda-a-cor-quando-muda-o-foco-p-toda-a-aplicacao/309162
Clique aqui para fazer login e interagir na Comunidade :)