FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problemas al capturar teclas
Alguien sabría decirme el porque de que no pueda capturar las teclas
F1 ... F12 en el evento OnKeyPress de un formulario. Tengo activada la propiedad KeyPreview y he probado varias cosas: IF Key = #112 then //Si se presione F1 .... IF Key = VK_F1 then .... pero ninguna me funcionó. Sin embargo, las teclas Enter (#13), Escape (#27), las capturo sin ningún tipo de problemas. El código es el siguiente: Código:
Case Key of #13: begin Key := #0; //Focus al siguiente objeto Perform(WM_NEXTDLGCTL, 0, 0); end; #27: begin Key := #0; //Cierra el formulario Close; end; #112: begin Key := #0; //Cambia de página PageControl.TabIndex := 1; end; Un saludo.
__________________
https://www.youtube.com/DexterBass |
#2
|
||||
|
||||
Hola,
La solución pasa por utilizar los eventos "OnKeyUp" u "OnKeyDown". La explicación en la ayuda del evento "OnKeyPress": Cita:
|
#3
|
||||
|
||||
Ahora va queriendo
OK. A ver si entendí.
La idea sería que use OnKeyUp o OnKeyDown para las teclas F1 ... F12 y lo demás que lo deje en el OnKeyPress. Digo esto porque intenté pasar todo al OnKeyUp y no me resultó. Por ejemplo al pulsar Enter (cuando ejecuto Perform(WM_NEXTDLGCTL, 0, 0)) se escucha un pequeño beep. Antes lo solucionaba con un Key := #0 (Que ahora pasó a ser un Key := 0), pero ahora no hay caso. Te pido que me confirmes si estoy en lo cierto. Desde ya te agradezco tu explicación. Un saludo.
__________________
https://www.youtube.com/DexterBass |
|
|
|