Como mudar a cor do um dbedit quando receber o focu ?

01/09/2003

0

Como mudar a cor do um dbedit quando receber o focu ?

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

Wesleygoncavles

Responder

Post mais votado

01/09/2003

Colega,

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

Aroldo Zanela
Responder

Mais Posts

01/09/2003

Tecrogerio

Você pode usar a propriedade OnExit do DbEdit anterior para especificar a cor do Próximo DbEdit.

Ex:

OnExit do DbEdit1
DbEdit2.color := clinfokb;
DbEdit1.color := clmenu;(ou outra cor que preferir)



tecrogerio@hotmail.com


Responder

01/09/2003

Vcahy

No OnEnter.

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


Responder

07/05/2015

Alisson Sudak

Colega,

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?
Responder

18/04/2019

José Menezes

Colega,

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´.


Responder

18/04/2019

Emerson Nascimento

Veja esta dica:

https://marcosalles.wordpress.com/2009/09/12/funcao-q-muda-a-cor-quando-muda-o-foco-p-toda-a-aplicacao/

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar