Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-07-2003
botones67 botones67 is offline
Miembro
 
Registrado: may 2003
Posts: 104
Poder: 0
botones67 cantidad desconocida en este momento
key en edit

Hola a todos.

Como puedo controlar en un edit la tecla que se pulsa?

Tengo una serie de edit simulando un memo y quiero que cuando llegue al ( final o pulsando intro o pagina arriba o abajo) de cada uno pase al siguiente o al anterior.

Podriais indicarme como hacerlo?

Gracias anticipadas
Responder Con Cita
  #2  
Antiguo 15-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Tienes tres eventos que puedes mirar de controlar

- KeyDown : cuando una tecla "baja" al ser presionada (puedes controlar todas las teclas del teclado)
- KeyPress : accion de presionar una tecla (solo puedes controlar la maquina de escribir creo recordar)
- KeyUp : cuando una tecla "sube" por el efecto de haber sido presionada (puedes controlar todas las teclas del teclado)

El orden de disparo de los eventos, si no voy errado, es precisamente este comentado : Down - Press - Up

Para saber el valor de todas las teclas, mirate en la win32.hlp la entrada Virtual-Key Codes

Espero te sirva
Responder Con Cita
  #3  
Antiguo 15-07-2003
botones67 botones67 is offline
Miembro
 
Registrado: may 2003
Posts: 104
Poder: 0
botones67 cantidad desconocida en este momento
ok gracias.

me podrias decir porque no me funciona algo asi.


en el evento onchange del un edit

if (key=#13) then ' lo que sea '

Me da error en el key, tengo que añadir algun uses para que reconozca key?

Gracias otra vez
Responder Con Cita
  #4  
Antiguo 15-07-2003
Tanix Tanix is offline
Miembro
 
Registrado: may 2003
Ubicación: Currando... :-(
Posts: 53
Poder: 21
Tanix Va por buen camino
Ten en cuenta q en el evento OnChange de un edit no tienes la variable de E/S key... En cambio en los eventos que te explicaba Cadetill si dispones de ella para poder trabajar con ese valor... Mira la diferencia :
On Change :
Cita:
procedure TForm1.Edit1Change(Sender: TObject);
begin

end;
On KeyPress/Down/Up:
Cita:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin

end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin

end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin

end;
Saludos...
__________________
La suerte favorece a una mente preparada...
Responder Con Cita
  #5  
Antiguo 15-07-2003
guantxo guantxo is offline
Miembro
 
Registrado: may 2003
Posts: 16
Poder: 0
guantxo Va por buen camino
Talking

hola!!

la respuesta a porque no te hace

Cita:
en el evento onchange del un edit
Cita:
if (key=#13) then ' lo que sea '
es porque en el onchange la variable Key no esta definida

prueba a ponerlo en el OnKeyPress del edit y veras como t funciona
Responder Con Cita
  #6  
Antiguo 15-07-2003
botones67 botones67 is offline
Miembro
 
Registrado: may 2003
Posts: 104
Poder: 0
botones67 cantidad desconocida en este momento
ok entendido.

la tecla intro se controaria asi

if (key=#13) then 'lo que sea' bien

pero las teclas ariiba y abajo , no encuentro su codigo para

poner if (key=#?? ) y if (key=#??), en la ayuda win32.hlp y en el apartado virtual-keys codes no las encuentro , ¿ sabeis cual son sus cosigos?.


Gracias otra vez.
Responder Con Cita
  #7  
Antiguo 15-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
estas teclas, como te comentaba en mi primer mensaje, SOLO puedes tratarlas en los eventos OnKeyDown y OnKeyUp. En el evento OnKeyPress SOLO puedes capturar lo que representa la maquina de escribir dentro del teclado, nada mas, ni los Fx ni los cursores, ni nada de eso.

Para hacer referencia a ellas dentro del dichos eventos, mira la ayuda que te comento tambien en mi primer mensaje y veras que se hace mediante las contantes VK_UP, VK_DOWN,....

Para que te hagas una idea de la nomenclatura de éstas, funciona de la siguente manera:

Virtual Key (VK) + _ + Tecla que quieras
VK_LEFT, VK_DOWN, VK_NUMPAD0, VK_F1,......

Espero te sirva
Responder Con Cita
  #8  
Antiguo 15-07-2003
botones67 botones67 is offline
Miembro
 
Registrado: may 2003
Posts: 104
Poder: 0
botones67 cantidad desconocida en este momento
Ahora si.

Gracias por todo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:42:32.


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
Copyright 1996-2007 Club Delphi