Pergunta

Quero ter uma combinação de teclas de atalho (como Ctrl+Alt+D) em meu aplicativo para invocar uma função, mas não quero que o atalho apareça em nenhum menu.É possível ter um atalho disponível em seu aplicativo que de outra forma seria invisível?

Foi útil?

Solução

você pode usar o OnShortCut evento do TApplicationEvents componente para esta tarefa

verifique este código

procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey;
  var Handled: Boolean);
begin
  if (Msg.CharCode = Ord('D')) and (HiWord(Msg.KeyData) and KF_ALTDOWN <> 0) and  (GetKeyState(VK_CONTROL) < 0) then
  begin
    ShowMessage('Ctrl+Alt+D Pressed') ;
    Handled := true;
  end;
end;

Outras dicas

Sim, é possível.Você deve adicionar um objeto de tação de classe ao seu formulário. Você pode especificar um atalho de teclado para a tacção e colocar seu código no evento onexecute da tactação.

Observe que você não pode adicionar uma tactação diretamente ao seu formulário, deverá colocar uma lista de tactação no formulário e, em seguida, poderá adicionar uma tactação à sua lista de tactação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top