Fórum Tecla de atalho para toda a aplicação? #297734

29/09/2005

0

Como faço para colocar um tecla de atalho para toda a aplicacao idependente de qual janela eu esteja assim como um F1 para help!


Xtreme

Xtreme

Responder

Posts

29/09/2005

Siam

Registre a tecla no Windows pela função RegisterHotKey


Responder

Gostei + 0

29/09/2005

Zumbi

Poderia colocar como fazer isso?


Responder

Gostei + 0

30/09/2005

Siam

Vc pode registrá-la no onCreate do Form que vai receber a notificação:
procedure TForm1.FormCreate(Sender: TObject);
begin
  RegisterHotKey(Handle, 1, 0, VK_F1);
end;
Depois vc deve declarar uma procedure do tipo message p/ receber a notificação do Windows:
procedure Capture_Tecla(var Msg:TWMHotKey); message WM_HotKey;
Na implementação:
procedure TForm1.Capture_Tecla(var Msg:TWMHotKey);
begin
  if Msg.HotKey = 1 then
    // tecla f1 pressionada
end;

E pode liberar no onDestroy:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnregisterHotKey(Handle, 1);
end;



Responder

Gostei + 0

01/10/2005

Xtreme

Valeu cara era bem isso que eu queria! Obrigado pela ajuda!


Responder

Gostei + 0

01/10/2005

Firekiller

Pessoal, apenas aproveitando o tópico, como eu faria para registrar, por exemplo CTRL+ALT+BACKSPACE ??


Responder

Gostei + 0

03/10/2005

Siam

  RegisterHotKey(Handle, 1, Mod_Control+Mod_Alt, $8);



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar