GARANTIR DESCONTO

Fórum Mover-se ao Próximo Campo PARA TODA a aplicação #337848

14/02/2007

0

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

Responder

Posts

14/02/2007

M@gnun

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;


Responder

Gostei + 0

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

Aceitar