FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Detectar Ctrl+SpaceBar
Hola!
Tengo el siguiente código en mi proyecto de Delphi: /****************/ procedure TMainForm.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin if (Msg.Message = WM_KEYDOWN) and (msg.wParam=VK_SPACE) then begin //Msg.wParam := ; keys := Keys + IntToStr(msg.wParam)+'-'+IntToStr(msg.lParam)+'; '; Handled := False; end; . . . /****************/ Como se puede ver, capturo la pulsación de la tecla Espacio, pero lo que pretendo es capturar Ctrl+Espacio, y de momento, lo único que consigo es capturar siempre antes de recibir VK_SPACE, un valor en wParam = 17. Tras esto se disparan dos WM_KEYUP consecutivos, con los valores 17 y VK_SPACE.; Alguien sabe cuál es el algoritmo a seguir para estar seguro de que se trata de un Ctrl+Espacio?; Saludos; |
#2
|
|||
|
|||
Aunque no te puedo decir el algoritmo correcto ahora (habría que probarlo), lo que puedes hacer es emplear, al recibir una pulsación de teclado, la función GetKeyState(VK_CONTROL) del API, si devuelve TRUE es que se está pulsando la tecla Ctrl en ese momento.
__________________
Guía de Estilo |
|
|
|