Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Detectar Ctrl+SpaceBar (https://www.clubdelphi.com/foros/showthread.php?t=1712)

quasarin 25-06-2003 02:29:23

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:

andres1569 25-06-2003 10:40:43

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