Como monitorar o estado do Caps Lock, Num Lock e tecla Insert – Show Delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como monitorar o estado do Caps Lock, Num Lock e tecla Insert

 

Há situações em onde ocorre a necessidade de ser controlado o estado
do CAPS Lock ou NUM Lock. Uma tela de login é um bom exemplo de local.

Uma forma muito comum de mostrar para o usuário o estado destas teclas
é através de um status bar em seu formulário principal.

Veja o exemplo, crie um formulário com um status bar,
e adiciona ao status bar 3 panels.

Em seguida, na sessão private, declare o seguinte procedimento:

1
procedure OnMessageOwn(var Msg: TMsg; var Handled: Boolean);

A implementação do procedimento deverá ser conforme o exemplo abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.OnMessageOwn(var Msg: TMsg; var Handled: Boolean) ;
var
  KeyState: TKeyboardState;
begin
  GetKeyboardState(KeyState);
 
  if KeyState[VK_NUMLOCK] = 0 then
    StatusBar1.Panels[0].Text:= ''
  else
    StatusBar1.Panels[0].Text:= 'Num';
 
  if KeyState[VK_CAPITAL] = 0 then
    StatusBar1.Panels[1].Text:= ''
  else
    StatusBar1.Panels[1].Text:= 'Caps';
 
  if KeyState[VK_INSERT] = 0 then
    StatusBar1.Panels[2].Text:= ''
  else
    StatusBar1.Panels[2].Text:= 'Ins';
end;

Agora para finalizar, no evento OnCreate do seu formulário,
deixe conforme o exemplo abaixo:

1
2
3
4
procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage := OnMessageOwn;
end;

Pronto!

Ao executar o projeto, você verá sua aplicação monitorando o CAPS Lock,
Num Lock e Insert.

Fonte Base: http://www.planetadelphi.com.br/dica/6824/verificar-estado-da-tecla-caps-lock

Facebook Comments

Posts Relacionados

  • Administrador
  • 66 views
  • 0 comentários
  • 11 de outubro de 2016

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir ao topo

© 2016 Infus Soluções em Tecnologia - Todos os Direitos Reservados