Mover-se ao Próximo Campo PARA TODA a aplicação

Delphi

14/02/2007

Alô galera...

Gostaria de saber se há possibilidades de minha aplicação mover o foco automaticamente ao próximo controle após completar o valor do MAXLENGTH definido para cada campo.

Sei que usando o evento ONCHANGE eu consigo isso... mas vamos considerar um formulário com mais de 40 edits... ia ficar meio chatinho declarar um por um no evento ONCHANGE. :lol:

O codigo abaixo é o que eu usaria no ONCHANGE, tem jeito de fazer isso ser declarado uma vez só, como se faz para usar o ENTER no lugar do TAB?


[b:dfd8a02079]if length(TEdit(sender).text) >= TEdit(sender).MaxLength Then
Perform(Wm_NextDlgCtl, 0, 0); [/b:dfd8a02079]


Valeu a quem puder dar uma dica. :D


Microbios

Microbios

Curtidas 0

Respostas

M@gnun

M@gnun

14/02/2007

cria uma procedure com sender:

procedure Muda_Campo(Sender: TObject);
begin

  if length(TEdit(sender).text) >= TEdit(sender).MaxLength Then 
  Perform(Wm_NextDlgCtl, 0, 0); 

end;


No OnCreate do Form faça:

Edit1.OnChange := Muda_Campo;
Edit2.OnChange := Muda_Campo;
Edit3.OnChange := Muda_Campo;
.....
Edit40.OnChange := Muda_Campo;


GOSTEI 0
POSTAR