![]() |
Control de teclas pulsadas
Hola amigos foreros.
Me gustaría saber de que forma puedo controlar si se ha pulsado una combinación de teclas, para poderlo programar. Por ejemplo: Ctrl+F1, Shift+L, Alt+E Un saludo. |
Comprobando en el evento KeyDown, KeyPress o KeyUp el valor de la tecla pulsada con los siguientes valores:
Código:
[0] to [9] POW-KEY-0 to POW-KEY-9 |
Gracias Josber.
Pero yo lo que quiero saber es en que evento, y como puedo indicar que cuando se pulsa, por ejemplo, Ctrl y Esc a la vez, que haga algo. En las aplicaciones, en el evento PreKeyDown del formulario, compruebo que si se pulsa ESC, se salga del programa: Código COBOL:
Entonces yo quiero que en lugar de ESCAPE, se salga al pulsar Ctrl+Esc Y no se como ponerlo. Un saludo |
Cita:
No he usado nunca una "consulta" de combinación de teclas pero, supongo que sera algo así como Código COBOL:
El evento en el que lo usas es el correcto si quieres que eso suceda en cualquier momento del programa, si no es así, y lo quieres en un sitio en especial, tendrás que usar el evento KeyPress de el control que quieras. Un saludo.- |
Josber, no, porque el asunto se basa en eventos, cada evento ejecuta nueva instancia del código, con lo cual el mismo campo no puede tener 2 valores.
Begoguay, lo que necesitas es el evento KeyDown: Código COBOL:
Cita:
|
Cita:
Un saludo.- |
Yo también utilizo atajos de teclado para llamar a determinados procedimientos, lanzar menus, etc.
Pero "discrepo" algo de kuk (sin que sirva de precedente) jjjjjjj En vez de utilizar keydown, mejor programarlo en keyup, con el keydown si la persona deja el dedo y no lo suelta, se puede ejecutar continuamente. Que en algunos casos puede interesar, pero si queremos controlar solo una acción, veo mejor hacerlo en el up, yo al menos lo hago asi. Tambien tengo un truco en mi aplicación Pulsando con el botón derecho del ratón sobre una imagen y el botón shift pulsado entras en el modo DIOS :))))) |
Cita:
Si tienes el rango de Guru en este foro, es por algo!!! Parece una tontería, pero claramente es mejor para el rendimiento de la aplicación. Ejecutar eventos en vano consume CPU para nada. |
Buenas tardes
Tengo un textbox en el que tengo que controlar que se introduzca unas letras concretas (de la A a la D) y en función de la letra realizar unas acciones u otras. Quiero controlar que solo se puedan introducir estas letras y si se introduce otro carácter hay que dejar el textbox vacío. Yo lo había intentado con los eventos KeyPress (controlando que lo introducido eran de la A a la D) y Change para ejecutar las acciones después de introducir la letra pero no conseguía que funcione bien ya que al introducir una tecla no válida pongo un espacio y queda un poco raro ya que para borrarlo debo seleccionar el espacio y pulsar la tecla suprimir. Según he leído lo mejor es hacerlo en el evento KeyUp. Pero si en lugar de teclear pego el carácter con el ratón (botón derecho->pegar) lógicamente no se ejecuta el evento KeyUp. No se como resolver y agradeceré cualquier ayuda. Muchas gracias Un saludo |
@lumalma, no se me ha ocurrido probarlo pero, podrías comprobar en el evento MouseUp de ese objeto, con un INSPECT, que no se haya introducido nada distinto de esos carácteres. Es parecido a todo lo anterior, pero cambiando el evento.
Un salu2.- |
| La franja horaria es GMT +2. Ahora son las 14:04. |
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.