![]() |
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; :confused: |
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.
|
| La franja horaria es GMT +2. Ahora son las 08:03:23. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi