In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

TScreenKeyboard vs Teclado común

Foro de Xailer profesional en español
Responder
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

TScreenKeyboard vs Teclado común

Mensaje por ddupre »

Estimados,

He agregado a un form un TScreenKeyboard y un para de botones para "Aceptar" o "Cancelar" y he realizado con total éxito que las teclas Esc y Enter del TscreenKeyboar "simulen" el comportamiento de los botones aprovechando el evento OnKeyClick

Ahora bien, intento hacer los mismo con el teclado normal y no tuve problema con la tecla Enter, pero no así con Esc. No logro "atrapara" esa tecla.

He intentado utilizar :OnChar, pero no estoy seguro si es el evento correcto, dado que aparentemente no se llega a disparar y se me cierra el form.

En el foro encontré algunos post sobre temas parecidos a este pero no logro resolverlo aún.

Agradecería cualquier orientación de cómo resolver "atrapar" el Esc del teclado común.

Saludos
Daniel
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9252
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: TScreenKeyboard vs Teclado común

Mensaje por ignacio »

Buenos días,

En el evento OnChar sólo entran los eventos de las teclas que tienen un reflejo en un carácter, que no es el caso de ESC. Debe de utilizar el evento OnKeyDown u OnKeyUp.

El form se le cierra porque le tiene indicado el estilo bsDialog. Si le quita dicho estilo no se cerrará.

Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Re: TScreenKeyboard vs Teclado común

Mensaje por ddupre »

Ignacio,
buenas tardes.
Efectivamente el estilo del form era bsDialog. Lo primero que hice es cambiarlo a bsSingle y dejar el evento OnChar como estaba.
Mi sorpresa es que todo comenzó a funcionar como yo esperaba. Lo que hago en dicho evento es esto:

METHOD EditObservacionesChar( oSender, nKey, nFlags ) CLASS TControlMesas

if nKey == K_ESC
::BtnBmpCancelarClick()
Return 0
endif

RETURN Nil

No sé porqué motivo ahora al apretar ESC se dispara ese evento y se ejecuta perfectamente.
¿Puede ser que el hecho de cambiar el estilo del formulario afecte el evento onChar?

Muchas gracias por su ayuda.
Un saludo
Daniel
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9252
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: TScreenKeyboard vs Teclado común

Mensaje por ignacio »

Buenos días,

Efectivamente así es. Con el estilo bsDialog la pulsación de la tecla ESC está reservada por el propio sistema para abandonar el formulario y por lo tanto no se llega ni a recibir el evento.

Un saludo
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Re: TScreenKeyboard vs Teclado común

Mensaje por ddupre »

Ignacio,
Muchas gracias por su aclaración.

Saludos
Daniel
Responder