Delphi - El uso de los TApplicationEvents caso OnShortCut para detectar las pulsaciones de teclas Alt + C

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

  •  09-09-2019
  •  | 
  •  

Pregunta

Estoy usando TApplicationEvents caso OnShortCut para obtener atajos de teclado en la aplicación de un programa de Delphi.

Usando el siguiente 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;

Pregunta:

¿Cómo puedo detectar cuando 'ALT C' se ha pulsado?

¿Fue útil?

Solución

Al igual que:

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;

Tenga en cuenta que el uso de Alt y alguna tecla sólo es una mala opción para un acceso directo, ya que el sistema utiliza para activar estos elementos de menú o controles de diálogo.

Otros consejos

O puede crear sencilla taction, que come atajos antes que otros.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top