Создание ярлыка приложения Delphi без соответствующего пункта меню - PullRequest
7 голосов
/ 26 июля 2010

Я хочу, чтобы в моем приложении была комбинация клавиш (например, Ctrl + Alt + D) для вызова функции, но я не хочу, чтобы ярлык появлялся в любом меню.Возможно ли иметь в вашем приложении ярлык, который в противном случае был бы невидимым?

Ответы [ 2 ]

12 голосов
/ 26 июля 2010

Вы можете использовать OnShortCut событие TApplicationEvents для этой задачи

проверить этот код

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;
8 голосов
/ 26 июля 2010

Да, это возможно. Вы должны добавить Объект класса TAction к вашей форме. Вы можете указать сочетание клавиш для Taction, а затем поместить свой код в событие OnExecute TAction.

Обратите внимание, что вы не можете добавить Taction непосредственно в форму, вы должны добавить TactionList в форму, а затем добавить Taction в ваш TActionList.

...