PDA

Ver la Versión Completa : Cuales la tecla de bloqueo de mayusculas


VolaRe
12-11-2003, 22:08:54
Hola estoy haciendo un pequeño proceador de texto, para ir practicando en esto del delphi y no se como hacer que me advierta el programa de que tengo la tecla de bloqueo de mayusculas activa (claro mostrandomelo en un estatusbar). Alguien me podria decir como lo hago?

Cual es su correspondiente valor entero, o si no tiene valor entero, como le digo a delphi que me avise. GRACIAS.

delphi.com.ar
12-11-2003, 22:30:23
Prueba esto:
if GetKeyState(VK_CAPITAL) and $1 > 0 then
Caption := 'Activado'
else
Caption := 'Desactivado';


Saludos!

VolaRe
13-11-2003, 21:51:37
delphi.com.ar comentó:
Prueba esto:
if GetKeyState(VK_CAPITAL) and $1 > 0 then
Caption := 'Activado'
else
Caption := 'Desactivado';


Saludos!


Gracias por tu respuesta, pero no entiendo lo de "$1>0", me lo podrias explicar por favor, gracias

delphi.com.ar
13-11-2003, 22:03:04
extrído de Win32.hlp
GetKeyState
...
If the function succeeds, the return value specifies the status of the given virtual key. If the high-order bit is 1, the key is down; otherwise, it is up. If the low-order bit is 1, the key is toggled. A key, such as the CAPS LOCK key, is toggled if it is turned on. The key is off and untoggled if the low-order bit is 0. A toggle key's indicator light (if any) on the keyboard will be on when the key is toggled, and off when the key is untoggled.
...


Por lo que mas correcto sería:
if GetKeyState(VK_CAPITAL) and $1 = 1 then
Caption := 'Activado'
else
Caption := 'Desactivado';


Lo que estoy hacendo es comparando el primer bit del resultado, si este es 1, entonces la tecla esta presionada, si es cero no lo está.

Saludos!