Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Freedom

Edit trocar de cor.

Recommended Posts

Olá galera.Estou querendo fazer com que ao entrar no edit mude de cor e ao sair volte ao normal, só que não quero usar componente, e quero fazer uma parada pra ficar meio automática, pois colocar no onenter e onexit é fatal.E nos tempos de hoje temos que fazer um design interressante pra nosso softwares, agradeço a ajuda de vocês.Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, eu fiz no onenter e no onexit e deu certo...

 

 

On enter...

 

procedure TForm1.Edit1Enter(Sender: TObject);begin		edit1.Color:=$Aaaa00;end;

On exit

 

procedure TForm1.Edit1Exit(Sender: TObject);begin	   // if not edit1.Focused then				edit1.Color:=$FFFFFF;end;

Alguns detalhes:

1) Eu não sei direito como colorir em tempo de execução que não seja usando hexadecimal ($FFFFFF caso não conheça)

2) Eu deixei aquela linha comentada de propósito pois não sei se você conheçe aquela propriedade, talvez te ajude em algo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara já imaginou eu ter que em cada edit colocar a função no onenter e onexit..complica né...Fiz uma função mas tá precisando de uns ajustes ainda

 

procedure TPrincipalForm.SetColorEditEnter(Sender: TObject);

begin

 

if Sender is TEdit then

(Sender as TEdit).Color := $00FFECD9 else

if Sender is TDBEdit then

(Sender as TDBEdit).Color := $00FFECD9 else

if Sender is TDateEdit then

(Sender as TDateEdit).Color := $00FFECD9 else

if Sender is TDBDateEdit then

(Sender as TDBDateEdit).Color := $00FFECD9 else

if Sender is TDBComboBox then

(Sender as TDBComboBox).Color := $00FFECD9 else

if Sender is TDBMemo then

(Sender as TDBMemo).Color := $00FFECD9 else

 

end;

 

procedure TPrincipalForm.SetColorEditExit(Sender: TObject);

begin

if Sender is TEdit then

(Sender as TEdit).Color := clwhite else

if Sender is TDBEdit then

(Sender as TDBEdit).Color := clwhite else

if Sender is TDateEdit then

(Sender as TDateEdit).Color := clwhite else

if Sender is TDBDateEdit then

(Sender as TDBDateEdit).Color := clwhite else

if Sender is TDBComboBox then

(Sender as TDBComboBox).Color := clwhite else

if Sender is TDBMemo then

(Sender as TDBMemo).Color := clwhite else

end;

 

procedure TPrincipalForm.MudaCoresEdits;

var

i : integer;

begin

for i := 0 to ComponentCount - 1 do

begin

if Components is TEdit then

begin

(Components as TEdit).OnEnter := PrincipalForm.SetColorEditEnter;

(Components as TEdit).OnExit := PrincipalForm.SetColorEditExit;

end;

end;

 

for i := 0 to ComponentCount - 1 do

begin

if Components is TDBEdit then

begin

(Components as TDBEdit).OnEnter := PrincipalForm.SetColorEditEnter;

(Components as TDBEdit).OnExit := PrincipalForm.SetColorEditExit;

end;

end;

 

for i := 0 to ComponentCount - 1 do

begin

if Components is TDateEdit then

begin

(Components as TDateEdit).OnEnter := PrincipalForm.SetColorEditEnter;

(Components as TDateEdit).OnExit := PrincipalForm.SetColorEditExit;

end;

end;

 

for i := 0 to ComponentCount - 1 do

begin

if Components is TDBDateEdit then

begin

(Components as TDBDateEdit).OnEnter := PrincipalForm.SetColorEditEnter;

(Components as TDBDateEdit).OnExit := PrincipalForm.SetColorEditExit;

end;

end;

 

for i := 0 to ComponentCount - 1 do

begin

if Components is TDBComboBox then

begin

(Components as TDBComboBox).OnEnter := PrincipalForm.SetColorEditEnter;

(Components as TDBComboBox).OnExit := PrincipalForm.SetColorEditExit;

end;

end;

 

for i := 0 to ComponentCount - 1 do

begin

if Components is TDBMemo then

begin

(Components as TDBMemo).OnEnter := PrincipalForm.SetColorEditEnter;

(Components as TDBMemo).OnExit := PrincipalForm.SetColorEditExit;

end;

end;

 

end;

 

 

NO ONSHOW DO FORM BASTA COLOCAR MUDACORESEDIT();

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.