Delphi - El uso de los TApplicationEvents caso OnShortCut para detectar las pulsaciones de teclas Alt + C
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?
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