Компонент Delphi ActionMainMenuBar представляет собой специализированный контейнер (подобно Panel), в котором создаются группы элементов для отображения их на экране в порядке, который определен в менеджере действий. Все эти элементы создаются динамически, после того как компонент ActionMainMenuBar связывается с элементами компонента ActionManager. Поэтому компонент ActionMainMenuBar имеет непосредственную связь с ActionManager. Входящие элементы этого меню являются компонентами, подобными MenuItem, создаваемыми в ActionMainMenuBar и отображаемыми в основном меню. Расположение элементов в меню происходит автоматически и определено настройками менеджера действий.
Интерфейс для пользователя создается следующим образом:
Для начала определим список действий, что бы создать этот набор действий, которые нам будут необходимы для приложения, для этого используем «Менеджер Действий» — ActionManager который рассмотрен в предыдущей статье. Для вывода созданных действий поместите на форму компонент ActionMainMenuBar. Далее перемещаем созданные действия с диалогового окна ActionManager’а инструментальную панель ActionMainMenuBar. Действие(Action) предполагает ответ на действия пользователя. Категория действия позволяет нам объединить действия в группы, и помещать на инструментальную панель. Стандартные действия определены в классах действий. Эти классы можно использовать путем помещая их на инструментальную панель.
Свойства ActionMainMenuBar:
ActionClient | Обеспечивает доступ к конкретным объектам TClientAction, управляемым менеджером действия. |
AnimationStyle | Определяет стиль анимации при показе разделов меню: asNone — никакая анимациия не используется; asUnFold — меню разворачивается по диагонали от верхнего левого угла; asDefault — стиль операционной системы; asFade — меню появляется из невидимого в видимое изображение; asSlid — меню разворачивается с верху вниз. |
EdgeBorders | Устанавливает границы по краям компонента. |
EdgeInner | Вид внутренней границы: esNone — нет; esRaised — выпуклая; esLowered – вдавленная. |
EdgeOuter | Вид внешней границы: esNone — нет; esRaised — выпуклая; esLowered – вдавленная. |
ExpandDelay | Определяет задержку (по умолчанию 4000 миллисекун) перед показом невидимых разделов. |