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)
-   -   Saber si estan pulsadas o no las teclas de bloqueo (https://www.clubdelphi.com/foros/showthread.php?t=49001)

Cecil 10-10-2007 13:43:28

Saber si estan pulsadas o no las teclas de bloqueo
 
Hola, he estado buscando y nada :(. Me gustaria saber como puedo detectar desde mi aplicación si están pulsadas o no las teclas de "Bloq. Mayúscula", "Insert" y "Bloq. Numérico".
Un saludo y mil gracias como siempre.

Bicho 10-10-2007 13:51:20

Hola,

a bote pronto puedes probar con esto:

Código Delphi [-]
   
if (getkeystate(144) =1) or (getkeystate(144) =-127) then Edit1.Text := 'Bloq.Num'
else  Edit1.Text := '';
    
if (getkeystate(20) =1)  or (getkeystate(20) =-127)  then Edit2.Text := 'Mayús'
else Edit2.Text := 'Minus';

if (getkeystate(45) =1)  or (getkeystate(45) =-127)  then Edit3.Text := 'Sob.'
else  Edit3.Text := 'Ins.';

Saludos

Bicho 10-10-2007 13:57:34

Vamos a mejorarlo, que con los númeritos se hace más difícil.
Usaremos las virtual key que para eso estan

Código Delphi [-]
  
if (getkeystate(VK_NUMLOCK) =1) or (getkeystate(VK_NUMLOCK) =-127) then Edit1.Text := 'Bloq.Num'
else  Edit1.Text := '';
    
if (getkeystate(VK_CAPITAL) =1)  or (getkeystate(VK_CAPITAL) =-127)  then Edit2.Text := 'Mayús'
else Edit2.Text := 'Minus';

if (getkeystate(VK_INSERT) =1)  or (getkeystate(VK_INSERT) =-127)  then Edit3.Text := 'Sob.'
else  Edit3.Text := 'Ins.';

Cecil 10-10-2007 14:00:40

Vaya, un millón de gracias, me ha funcionado perfectamente. Un saludo !! :D


La franja horaria es GMT +2. Ahora son las 11:52:28.

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