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 22-02-2013
[Waldo] Waldo is offline
Miembro Premium
 
Registrado: sep 2003
Posts: 101
Poder: 21
Waldo Va por buen camino
Talking Onkeyup me funciona como OnKeyDown

Buen día para todos, tengo un problema que no logro entender que sucede.

Resulta ser que en la form tengo activado a verdadero en keypreview, pero al presionar la tecla se genera el evento onkeyup, ejecuta ese código sin antes levantar el dedo de la tecla, no entiendo que sucede podría alguien ayudarme.
Responder Con Cita
  #2  
Antiguo 22-02-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Waldo.

La verdad que no escuché ese caso, es de lo más extraño... Sobre todo el que ejecute el evento OnKeyUp sin dejar de presionar la tecla.

El órden de disparo es OnKeyDown, OnKeyUp, OnKeyPress. Para discriminar si es un problema de teclado o de la aplicación, yo haría una nueva aplicación (un form), pondría nuevamente KeyPreview en True y vería si los eventos se disparan correctamente, mediante un Break o también:
Código Delphi [-]
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  ListBox1.Items.Add('KeyDown')
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  ListBox1.Items.Add('KeyPress')
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  ListBox1.Items.Add('KeyUp')
end;
Si detectas que el órden no es el correcto tal vez sea un problema físico.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 23-02-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Waldo,

Cita:
Empezado por Waldo
..en la form tengo activado a verdadero en keypreview, pero al presionar la tecla se genera el evento onkeyup, ejecuta ese código sin antes levantar el dedo de la tecla..
El orden secuencial de eventos de teclado es : OnKeydown (Al presionar una tecla), OnKeyPress (Al presionar una tecla con representación ASCII), OnKeyUp (Al liberar una tecla).

Revisa este link:
Cita:
Understanding and Processing Keyboard events in Delphi : OnKeyDown, OnKeyUp and OnKeyPress

http://delphi.about.com/od/objectpas...ard_events.htm
Cita:
Empezado por Delphi Help

Keyboard events are received at several levels:

1- The application level, with an OnMessage event of Application.
You will rarely need to intercept keystrokes at the application level, but it is important to know that this first level is available.

2- The "shortcut-key" level
When you specify a shortcut key, such as those provided as a property of menu items, the keystroke is intercepted before the form sees it.

3- The form level
The form contains a KeyPreview property that enables you to code "global" keystroke events.

4- The component level
When you program key-press event handlers at the component level, the component with focus intercepts the keystroke.
Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 23-02-2013 a las 20:08:34.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Validacion en celda DBGrid OnKeyPress, OnKeyUp, OnKeyDown Cabanyaler Varios 4 29-11-2011 11:02:36
OnKeyPress, OnKeyUp, OnKeyDown en MonthCalendar santiago14 Varios 6 29-03-2008 01:18:16
¿Cómo cerrar un Grid desde el OnKeyDown? pfsoft Varios 5 11-09-2007 16:59:25
onKeyUp MAXIUM Varios 4 26-04-2007 05:14:41
Como vuelvo el foco a una grilla despues del ONKEYDOWN Ericato Varios 3 12-03-2007 16:40:17


La franja horaria es GMT +2. Ahora son las 05:30:24.


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