delphimenushortcuttactiontmenuitem

Creating a Delphi app shortcut with no corresponding menu item


I want to have a shortcut key combination (like Ctrl+Alt+D) in my app to invoke a function, but I don't want the shortcut to appear on any menu. Is it possible to have a shortcut available in your app that is otherwise invisible?


Solution

  • you can use the OnShortCut event of the TApplicationEvents component to this task

    check this code

    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;