PDA

Ver la Versión Completa : Detectar Ctrl+SpaceBar


quasarin
25-06-2003, 02:29:23
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.