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

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

Вопрос

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

Это было полезно?

Решение

Вы можете использовать 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;
.

Другие советы

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

Примечание. Обратите внимание, что вы не можете добавить напрямую к своей форме, вы должны поставить TACKINGLIST в свою форму, а затем вы можете добавить TACTING TANCELIST.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top