FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Ctrl-Intro en un TEdit
Hola Amigos !
En mi TEdit controlo tanto los eventes OnKeyDown como OnKeyPress. Quiero interceptar cuando el usuario pulsa Ctrl-Intro y lo hago bien con pero aunque añada Key := 0;, después de pasar por OnKeyDown me ejecuta también OnKeyPress y ahí no sé como identificar esa situación, ya que en OnKeyPress, Key no vale ni 17 (Control) ni tampoco 13 (Enter) y shift no está disponible. Felices Fiestas !
__________________
Piensa siempre en positivo ! |
#2
|
||||
|
||||
Hola,
No entiendo bien porqué precisas ambos eventos "OnKeyDown" y "OnKeyPress", pero, entiendo menos aún cómo es que tienes que comprobar "lo mismo" en los dos eventos. ¿No te bastaría con comprobar que se pulsaron las teclas CTRL + ENTER en el evento "OnKeyDown"? A más de que ya ves que en el evento "OnKeyPress" no parece usarse para esos menesteres: no cuenta, como dices, con el parámetro "Shift", por ejemplo. No sé. Tal vez no esté del todo despierto. Lo que puedo decirte es que no parece bien la sentencia: Creo que sería más apropiado utilizar algo así: Puesto que la variable "Shift" es un "Set" que puede contener varios valores... no sé hasta qué punto podría funcionarte la comprobación que haces arriba, en caso, por ejemplo, de que "Shift" contuviera otros valores, puesto que entonces no sería igual a "ssCtrl", solamente. Sin embargo lo que propongo por mi parte es la comprobación mediante la pregunta "¿Está "ssCtrl" dentro de "Shift"? creo que es más correcto. Además, que no me lo invento yo, creo que la ayuda de Delphi dice algo a este respecto. |
#3
|
||||
|
||||
Gracias Dec por tus recomendaciones ...
Por qué necesito controlarlo en ambos eventos ? Pues una verdadera tontería !! Resulta que cuando lo detecto en OnKeyDown, abro un nuevo form, y justo entonces (lo cual acepto que es una tontería ...) se produce un sonido que corresponde a no aceptar el Ctrl-Intro en el campo TEdit. Pero el usuario, cada vez que pita el ordenador se sobresaltará y dirá : "Que pasó ?" Y eso se provoca precisamente (lo he comprobado con el debugger) porque entra en OnKeyPress y al no contemplar esa combinación de teclas emite el "clonck!". Lo mismo me pasa en cualquier otro campo (lo cual si debe de ser así), pero precisamente en este TEdit no lo quiero así porque tengo que abrir el Form ! No me sirve de nada poner Key := 0; en OnKeyDown porque de cualquier manera de entra en OnKeyPress y es ahí donde quiero interceptar la combinación de teclas para que sea 'válida' y no me produzca el sonido de error ...
__________________
Piensa siempre en positivo ! |
#4
|
||||
|
||||
Hola,
Cita:
|
#5
|
||||
|
||||
David, gracias
No es del ENTER porque siempre lo utilizo para pasar de un campo al otro. Mi código del evento OnKeyPress es
__________________
Piensa siempre en positivo ! |
|
|
|