MakeShortcut(Modifiers: KeyModifiers; Key: Keys);
Modifiers. Модификатор дополнительных клавиш, которые будут использоваться в сочетании. Для использования нескольких дополнительных клавиш необходимо указать соответствующие значения с разделителем Or.
Key. Клавиша, которая будет использоваться в качестве «горячей клавиши».
Свойство MakeShortcut возвращает значение, соответствующее комбинации «горячих клавиш», которую необходимо назначить для какого-либо действия.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием Button1, компонента ActionList с наименованием ActionList1 и компонента MainMenu с наименованием MainMenu1. Также в коде содержится процедура OnSelectAll, сигнатура которой соответствует сигнатуре метода, реализующего событие OnExecute действия ActionItem.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
AItem: ActionItem;
MItem: IMenuItem;
Begin
AItem := New ActionItem.Create;
AItem.ActionList := ActionList1;
AItem.Caption := "Выделить все";
AItem.Hint := "Выделение всех объектов";
AItem.ShortCut := Self.MakeShortcut(KeyModifiers.Ctrl Or KeyModifiers.Shift, Keys.A);
AItem.OnExecute := OnSelectAll;
MItem := New MenuItem.Create;
MItem.Action := AItem;
MainMenu1.Items.Add(MItem);
End Sub Button1OnClick;
После выполнения примера при нажатии на кнопку для компонента ActionList будет создано новое действие. Заголовок нового действия - "Выделить все", при выполнении действия будет вызываться пользовательская процедура OnSelectAll. Для вызова действия будет доступно сочетание клавиш SHIFT+CTRL+A. Для компонента MenuItem будет создан новый пункт меню. Данный пункт меню будет связан с созданным действием.
См. также: