Создание ярлыка приложения Delphi без соответствующего пункта меню
Я хочу, чтобы в моем приложении была комбинация клавиш (например, Ctrl+Alt+D) для вызова функции, но я не хочу, чтобы ярлык появлялся в любом меню. Возможно ли иметь в вашем приложении ярлык, который в противном случае был бы невидимым?
2 ответа
Решение
Вы можете использовать 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.
Обратите внимание, что вы не можете добавить Taction непосредственно в вашу форму, вы должны добавить TactionList в вашу форму, а затем вы можете добавить Taction в ваш TActionList.