Tecla de atalho para toda a aplicação?

Delphi

29/09/2005

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

Curtidas 0

Respostas

Siam

Siam

29/09/2005

Registre a tecla no Windows pela função RegisterHotKey


GOSTEI 0
Zumbi

Zumbi

29/09/2005

Poderia colocar como fazer isso?


GOSTEI 0
Siam

Siam

29/09/2005

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;



GOSTEI 0
Xtreme

Xtreme

29/09/2005

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


GOSTEI 0
Firekiller

Firekiller

29/09/2005

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


GOSTEI 0
Siam

Siam

29/09/2005

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



GOSTEI 0
POSTAR