Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Duda sobre FOCO (https://www.clubdelphi.com/foros/showthread.php?t=44495)

karlaoax 07-06-2007 17:09:11

Duda sobre FOCO
 
Alguien me puede dar una sugerencia de como hacer que al terminar de escribir en un Edit con un MAXLENGTH de 5, pase al segundo Edit.

Ejemplo:
Edit1= Maxlength:5 (Escribo:A0001)
al terminar de ingresar, el cursor cambie automaticamente al Edit2

Que propiedad debo utilizar para lograr esto, me imagino que debe sey el ONKEYPRESS o ONENTER u ONEXIT :rolleyes:

Gracias

vtdeleon 07-06-2007 17:30:06

En el evento OnkeyUp
Código Delphi [-]
procedure TForm1.MaskEdit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if TMaskEdit(Sender).MaxLength=Length(Trim(TMaskEdit(Sender).Text)) then
    Perform(WM_NEXTDLGCTL,0,0)
end;
Ese mismo evento se lo puedes asignar a todos los demas MaskEdit.
Saludos

karlaoax 07-06-2007 17:46:31

Muchas gracias por la respuesta oportuna vtdeleon voy analizar el codigo y a hacer pruebas.

Atte, Karla :p

karlaoax 07-06-2007 17:52:30

Aqui le hice unas modificaciones para quien necesite mas documentacion del codigo que proporciono vtdeleon, muchas gracias :p

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Edit1.MaxLength = Length(Trim(Edit1.Text)) then
Perform(WM_NEXTDLGCTL,0,0)
end;
end.

vtdeleon 07-06-2007 18:21:17

No se, pero habia pensado que era para un MaskEdit. Pero bién.:)

karlaoax 07-06-2007 18:23:51

Ok ya cheque con el MaskEdit y un Edit y el codigo funciona al 100%

Gracias.
Karla :D


La franja horaria es GMT +2. Ahora son las 15:23:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi