Delphi - Usando os TApplicationEvents OnShortCut evento para detectar pressionamento de teclas Alt + C

StackOverflow https://stackoverflow.com/questions/734990

  •  09-09-2019
  •  | 
  •  

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?

Foi útil?

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
scroll top