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

Delphi

01/09/2003

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

Curtidas 0

Melhor post

Aroldo Zanela

Aroldo Zanela

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


GOSTEI 1

Mais Respostas

Tecrogerio

Tecrogerio

01/09/2003

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


GOSTEI 0
Vcahy

Vcahy

01/09/2003

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


GOSTEI 0
Alisson Sudak

Alisson Sudak

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




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?
GOSTEI 0
José Menezes

José Menezes

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


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

01/09/2003

Veja esta dica:

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

GOSTEI 0
POSTAR