Delphi - Usando os TApplicationEvents OnShortCut evento para detectar pressionamento de teclas Alt + C
Pergunta
Eu estou usando TApplicationEvents OnShortCut evento para obter teclado aplicação cortes curtos em um programa Delphi.
Usando o seguinte código:
procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey; var Handled: Boolean) ;
begin
if (Msg.CharCode = VK_F9) then
begin
ShowMessage('F9 pressed!') ;
Handled := True;
end;
end;
Pergunta:
Como faço para detectar quando 'ALT C' foi pressionado?
Solução
Assim:
procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean);
begin
if (Msg.CharCode = Ord('C'))
and (HiWord(Msg.KeyData) and KF_ALTDOWN <> 0)
then begin
ShowMessage('Alt+C pressed!') ;
Handled := TRUE;
end;
end;
Por favor, note que o uso de Alt e alguns chave só é uma má escolha para um atalho, como o sistema utiliza para itens de menu activar ou controles de diálogo.
Outras dicas
Ou você pode criar TAction simples, eles come atalhos antes de outros.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow