Компонент ActionList позволяет реализовать одинаковые действия для соответствующих пунктов главного меню, контекстного меню, кнопок на панели инструментов и кнопок ленты.
После размещения компонента на форме выполните для него команду контекстного меню «Редактор действий»:

В открывшемся редакторе кнопки «+» и «-» используются для создания/удаления действий. Выбрав необходимое действие в списке, в инспекторе объектов для него можно настроить различные свойства, а также установить обработчик события OnExecute, которое будет вызвано при выполнении действия.
Каждое действие реализуется классом ActionItem и может быть создано динамически в прикладном коде. После создания и настройки свойств действия, его необходимо включить в коллекцию действий компонента ActionList с помощью метода IActionList.AddAction.
Действие может быть назначено какому-либо пункту меню или кнопке. Для этого его необходимо указать в свойстве Action у соответствующего элемента в инспекторе объектов или прикладном коде:
Все пункты меню/кнопки, для которых назначено одно действие, будут иметь одинаковый набор свойств (все свойства будут взяты из настроек действия) и выполнять одинаковую функцию (выполняемая функция реализуется в событии OnExecute для действия).
Для действий есть возможность назначить одно или несколько сочетаний горячих клавиш. Для назначения горячих клавиш в режиме дизайнера формы необходимо выбрать действие, в инспекторе объектов выделить свойство ShortCut и нажать требуемое сочетание. Дополнительные сочетания горячих клавиш задаются в коллекции AdditionalShortCuts в прикладном коде во время выполнения формы.
Добавьте на форму компоненты MainMenu, ImageList, ToolBar и ActionList. В компонент ImageList загрузите любые четыре пиктограммы. В компоненте MainMenu в список элементов добавьте пункт главного меню и четыре пункта подменю. На панели инструментов ToolBar создайте четыре кнопки. Для компонента ActionList в свойстве Images выберите добавленный компонент ImageList. В редакторе действий создайте четыре действия, для каждого действия задайте уникальное значение свойства Caption и ImageIndex, а также определите событие OnExecute. Для каждого пункта подменю/кнопки панели инструментов выберите в свойстве Action какое-либо действие.
В режиме дизайнера форма будет выглядеть примерно следующим образом:

После запуска форма примет следующий вид:

При выборе пункта меню или при нажатии на кнопку панели инструментов, имеющих одинаковую пиктограмму, будет выполнено одинаковое действие.
| Имя свойства | Краткое описание | |
![]() |
ActionCount |
Свойство ActionCount возвращает количество действий в списке компонента. |
![]() |
Actions |
Свойство Actions возвращает параметры указанного действия. |
![]() |
ComponentCount |
Свойство ComponentCount возвращает количество дочерних компонентов. |
![]() |
Components |
Свойство Components возвращает дочерний компонент. |
![]() |
Data |
Свойство Data предназначено для хранения любых пользовательских данных. |
![]() |
Images |
Свойство Images определяет компонент, изображения которого будут использоваться в действиях текущего компонента. |
![]() |
Name |
Свойство Name определяет наименование компонента. |
![]() |
Suspended |
Свойство Suspended определяет состояние компонента и его действий. |
![]() |
Tag |
Свойство Tag не используется компилятором. Пользователь может изменить значение свойства Tag и использовать его по своему усмотрению. |
| Имя метода | Краткое описание | |
![]() |
AddAction |
Метод AddAction осуществляет добавление указанного действия в список действий данного компонента. |
![]() |
RemoveAction |
Метод RemoveAction осуществляет удаление указанного действия из списка действий данного компонента. |
| Имя события | Краткое описание | |
![]() |
OnExecute |
Событие OnExecute наступает при выполнении какого-либо действия компонента ActionList. |
![]() |
OnUpdate |
Событие OnUpdate наступает при обновлении действий компонента ActionList. |
См. также: