Criando um atalho de aplicativo Delphi sem item de menu correspondente
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?
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.