Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Salir de un TEdit al pulsar Enter.

232 views
Skip to first unread message

Dani

unread,
Apr 6, 1998, 3:00:00 AM4/6/98
to

¡Hola Delphi-Adictos! :-)

Soy novato en esto, y me gustaría saber cómo lo puedo
hacer para que al pulsar Enter me pase de un TEdit a
otro. Sólo me funciona pulsando el Tab.

¡Muchas gracias por adelantado!

Dani.
dbo...@mx2.redestb.es


teniente

unread,
Apr 6, 1998, 3:00:00 AM4/6/98
to

Hola Dani:
Crea el evento en el Form con este código y activa la propiedad KeyPreview
del form y a correr.
! Ojo si utilizas campos memo o Blob en el form, ten en cuenta que al pulsar
Enter no saltará de linea te saldrás del mismo¡. En este caso tendrás que
ir cambiando el valor de KeyPreview.

Saludos desde Elche.


procedure Tfactura.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(wm_nextdlgctl,0,0);
end;
end;

Dani escribió en mensaje <6gadf3$5dt$1...@talia.mad.ibernet.es>...

Wonder

unread,
Apr 7, 1998, 3:00:00 AM4/7/98
to

Dani escribió en mensaje <6gadf3$5dt$1...@talia.mad.ibernet.es>...
>¡Hola Delphi-Adictos! :-)
>
>Soy novato en esto, y me gustaría saber cómo lo puedo
>hacer para que al pulsar Enter me pase de un TEdit a
>otro. Sólo me funciona pulsando el Tab.
>
>¡Muchas gracias por adelantado!
>
>Dani.
>dbo...@mx2.redestb.es
>
>
Una posible forma de hacerlo es con los eventos OnKeyPressed o
OnKeyDown, estos eventos te permiten saber el valor de la tecla pulsada
mientras el control tiene el foco (de distinta manera) y actuar en
consecuencia, la pega es que si lo que quieres es pasar el foco a otro
control tienes que codificarlo, es decir, especificar a que control ha de
pasar el foco, mientras que con el tab se pasa al siguiente control (según
el TAB list de la ventana).

Otra forma más elaborada puede ser derivar un componente nuevo desde
TCustomEdit con todas las propiedades, métodos y eventos de TEdit (o solo
las que te interesen) y crear un manejado de mensajes para este nuevo
control (que por lo demás es un TEdit) que responda al mensaje de una tecla
pulsada y actuar en consecuencia, por ejemplo, si el usuario ha pulsado
enter cambiar el valor de la tecla por la del TAB, para que actúe de igual
forma. Pero este último se me antoja más complicado de realizar (implica
creación de nuevos componentes)

Salu2
Virgilio Pérez
vi...@axis.org

Frank Rodriguez Nieto

unread,
Apr 7, 1998, 3:00:00 AM4/7/98
to

Podrías coger el evento FormKeyDown y cuando la tecla que se ha pulsado es
Enter, cambiarla por Tab.

Frank Rodriguez Nieto

unread,
Apr 7, 1998, 3:00:00 AM4/7/98
to

Juan Miguel Moreno Lopez

unread,
Apr 7, 1998, 3:00:00 AM4/7/98
to Dani


Dani escribió:

> ¡Hola Delphi-Adictos! :-)
>
> Soy novato en esto, y me gustaría saber cómo lo puedo
> hacer para que al pulsar Enter me pase de un TEdit a
> otro. Sólo me funciona pulsando el Tab.
>
> ¡Muchas gracias por adelantado!
>
> Dani.
> dbo...@mx2.redestb.es

Hola Dani, yo lo hago de la siguiente manera:

En el evento On KeyPress, compruebo si es un retorno de carro
(ord(Key)=13) y si es así hago el foco pase al siguiente campo Edit.
(Edit9.SetFocus)

No es muy complicado y no se nota en la ejecución, espero haberte
ayudado en algo.

Saludos


0 new messages