Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mover el Foco al Siguiente Control con ENTER (https://www.clubdelphi.com/foros/showthread.php?t=26599)

onlytk 27-10-2005 19:34:21

Mover el Foco al Siguiente Control con ENTER
 
Hola amigos, estoy tratando de hacer lo siguiente, al presionar ENTER sobre un control este deberia pasar el foco al siguiente, lo hice con el procedimiento: SelectNext(ActiveControl, True, True); el cual me funciona bien, pero........ , al presionar sobre un boton la tecla ENTER, este me muestra un mensaje con ShowMessage, al presionar ENTER en el mensje este se cierra pero en mi Formulario principal sigue atrapando el ENTER, y lo pasa al siguiente control, como puedo evitar atrapar este ultimo ENTER???? :(

lucasarts_18 27-10-2005 19:35:57

Hola:

Puedes poner un fragmento de tú código ??.

:)

onlytk 27-10-2005 19:43:41

El siguiente codigo es del evento en un boton, que tambien atrapa el ENTER.

Código Delphi [-]
 procedure TfrmLogin.btnValidarClick(Sender: TObject);
 begin
   ShowMessage( 'ERROR' );
   edtUsuario.SetFocus;
 end;
A continuacion el evento que hace el trabajo de poner el foco al siugiente control:

Código Delphi [-]
 procedure TfrmLogin.FormKeyUp(Sender: TObject;
   var Key: Word; Shift: TShiftState);
 begin
   if (ActiveControl is TEdit) then
   begin
     if Key = VK_RETURN then
     SelectNext(ActiveControl, True, True);
   end;
   if Key = VK_ESCAPE then
     Close;
 end;
El formulario consta de 2 TEdit, y 2 TButton, al presionar enter sobre un BOTON, me muestra el mensaje de error, y deberia pasar el foco a un TEdit, pero al parecer el formulario atrapa este enter y hace que se pase al SIGUIENTE control :(

Bueno espero me ayuden, Salu2

vtdeleon 27-10-2005 20:22:09

Saludos
Cita:

Empezado por onlytk
pero al parecer el formulario atrapa este enter y hace que se pase al SIGUIENTE control

Ocurre porque el evento KeyUp se dispara cuando dejas de presionar la tecla ("despresiona" :p). En tu caso usaría KeyDown o KeyPress

onlytk 27-10-2005 20:26:17

Gracias, ahora si funciona jejeje muchas gracias man.

Salu2 :)

vtdeleon 27-10-2005 20:33:13

Saludos
Cita:

Gracias, ahora si funciona jejeje muchas gracias man.
No problem.:)
Date un vuelta por la Etiquetas vB:Delphi-SQL , para que aprendas a usarlas y tambien Guía Estilo


La franja horaria es GMT +2. Ahora son las 11:09:13.

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