Mudar cor do Dbedit quando foco entra e quando sai

Delphi

11/08/2007

Olá,
Bom dia.
Gostaria de saber se existe alguma maneira de fazer o dbedit mudar de cor quando o foco entrar e mudar quando o foco sair. Já consegui através dos eventos ´OnEnter´ e ´OnExit´, mas num formulario com muitos dbedits fica inviavel.

Obrigado,

Att
Dalton


Dbergkamps10

Dbergkamps10

Curtidas 0

Respostas

Alcantarus

Alcantarus

11/08/2007

Caro amigo,

Primeiramente, declare a secao Public do seu form:

  public
    Componente: TComponent;
    procedure ControlChange(Sender: TObject);
  end;


Depois, coloque a seguinte procedure:
procedure TfmBaseCadastro.ControlChange(Sender: TObject);
begin
    if Assigned(Componente) then
        TDBEdit(Componente).Color := clWindow; // cor sem foco
    if (ActiveControl is TEdit) or (ActiveControl is TDBEdit) or
        (ActiveControl is TDBCheckBox) or (ActiveControl is TDBComboBox) or
        (ActiveControl is TComboBox) or (ActiveControl is TDBLookupComboBox) or
        (ActiveControl is TDBMemo) or (ActiveControl is TDBImage) then
    begin
        TDBEdit(ActiveControl).Color := $00C2F9FC; // cor com foco
        Componente := ActiveControl;
    end;
end;


Sem mais,

Abraços,

Alcantarus.


GOSTEI 0
Dbergkamps10

Dbergkamps10

11/08/2007

pow cara, vlw
vou testar.
obrigado mesmo.


GOSTEI 0
Dbergkamps10

Dbergkamps10

11/08/2007

Mais uma vez obrigado. :D
Mas o problema, é que não sei em qual evento devo disparar a procedure para que possa mudar a cor de todos os edits?

Att
Dalton


GOSTEI 0
Martins

Martins

11/08/2007

Mais uma vez obrigado. :D Mas o problema, é que não sei em qual evento devo disparar a procedure para que possa mudar a cor de todos os edits? Att Dalton


Dispara a mudança de cor nos eventos OnEnter e OnExit do componente.


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

11/08/2007

veja se [url=http://forum.devmedia.com.br/viewtopic.php?t=72688&start=0&postdays=0&postorder=asc&highlight=foco]este tópico[/url] te ajuda...


GOSTEI 0
POSTAR