ActionList

Иерархия наследования

          IComponent

          IActionList

          ActionList

Описание

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

Работа с компонентом

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

В открывшемся редакторе кнопки «+» и «-» используются для создания/удаления действий. Выбрав необходимое действие в списке, в инспекторе объектов для него можно настроить различные свойства, а также установить обработчик события OnExecute, которое будет вызвано при выполнении действия.

Каждое действие реализуется классом ActionItem и может быть создано динамически в прикладном коде. После создания и настройки свойств действия, его необходимо включить в коллекцию действий компонента ActionList с помощью метода IActionList.AddAction.

Действие может быть назначено какому-либо пункту меню или кнопке. Для этого его необходимо указать в свойстве Action у соответствующего элемента в инспекторе объектов или прикладном коде:

Все пункты меню/кнопки, для которых назначено одно действие, будут иметь одинаковый набор свойств (все свойства будут взяты из настроек действия) и выполнять одинаковую функцию (выполняемая функция реализуется в событии OnExecute для действия).

Горячие клавиши

Для действий есть возможность назначить одно или несколько сочетаний горячих клавиш. Для назначения горячих клавиш в режиме дизайнера формы необходимо выбрать действие, в инспекторе объектов выделить свойство ShortCut и нажать требуемое сочетание. Дополнительные сочетания горячих клавиш задаются в коллекции AdditionalShortCuts в прикладном коде во время выполнения формы.

Пример

Добавьте на форму компоненты MainMenu, ImageList, ToolBar и ActionList. В компонент ImageList загрузите любые четыре пиктограммы. В компоненте MainMenu в список элементов добавьте пункт главного меню и четыре пункта подменю. На панели инструментов ToolBar создайте четыре кнопки. Для компонента ActionList в свойстве Images выберите добавленный компонент ImageList. В редакторе действий создайте четыре действия, для каждого действия задайте уникальное значение свойства Caption и ImageIndex, а также определите событие OnExecute. Для каждого пункта подменю/кнопки панели инструментов выберите в свойстве Action какое-либо действие.

В режиме дизайнера форма будет выглядеть примерно следующим образом:

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

При выборе пункта меню или при нажатии на кнопку панели инструментов, имеющих одинаковую пиктограмму, будет выполнено одинаковое действие.

Свойства компонента ActionList

  Имя свойства Краткое описание

ActionCount

Свойство ActionCount возвращает количество действий в списке компонента.

Actions

Свойство Actions возвращает параметры указанного действия.

ComponentCount

Свойство ComponentCount возвращает количество дочерних компонентов.

Components

Свойство Components возвращает дочерний компонент.

Data

Свойство Data предназначено для хранения любых пользовательских данных.

Images

Свойство Images определяет компонент, изображения которого будут использоваться в действиях текущего компонента.

Name

Свойство Name определяет наименование компонента.

Suspended

Свойство Suspended определяет состояние компонента и его действий.

Tag

Свойство Tag не используется компилятором. Пользователь может изменить значение свойства Tag и использовать его по своему усмотрению.

Методы компонента ActionList

  Имя метода Краткое описание

AddAction

Метод AddAction осуществляет добавление указанного действия в список действий данного компонента.

RemoveAction

Метод RemoveAction осуществляет удаление указанного действия из списка действий данного компонента.

События компонента ActionList

  Имя события Краткое описание

OnExecute

Событие OnExecute наступает при выполнении какого-либо действия компонента ActionList.

OnUpdate

Событие OnUpdate наступает при обновлении действий компонента ActionList.

См. также:

Стандартные компоненты