На этом шаге мы рассмотрим компонент TActionMainMenuBar.
Компонент TActionMainMenuBar является специализированным контейнером (подобно TPanel), в котором создается группа элементов для отображения на экране в порядке, определенном в менеджере действий.
Все элементы создаются динамически, когда компонент TActionMainMenuBar связывается с элементами менеджера действий. Таким образом компонент TActionMainMenuBar имеет непосредственную связь с компонентом TActionManager. Сами входящие элементы являются компонентами, подобными TMenuItem, создаваемыми в TActionMainMenuBar и отображаемыми последовательно в основном меню. Компоновка элементов в основном меню происходит автоматически и определяется настройками менеджера действий.
Интерфейс приложения для пользователя можно создать следующим образом:
Определим список действий, чтобы создать набор действий, которые будут необходимы для приложения, для чего используем Менеджер Действий - TActionManager. Для размещения созданных действий поместим на форму компонент TActionMainMenuBar. Произведем перемещение созданных действий с диалогового окна TActionManager на инструментальную панель TActionMainMenuBar. Действие (Action) - предполагает ответ на действия пользователя, например реакция приложения на щелчок по пункту меню. Категория действия позволяет объединить действия в группы и помещать их на инструментальную панель. Все стандартные действия определены в классах действия типа TEditCopy, TEditCut и TEditUndo. Можно использовать эти классы, помещая их на инструментальную панель.
Свойства компонента TActionMainMenuBar:
Свойство | Описание |
---|---|
Property ActionClient: TActionClient; | Обеспечивает доступ к конкретным объектам TClientAction, управляемым менеджером действия. |
Type TAnimationStyle = (asNone, asDefault, asUnFold, asSlide, asFade); Property AnimationStyle: TAnimationStyle; |
Определяет тип мультипликации, т.е. каким образом открываются пункты меню:
|
Property EdgeBorders: TEdgeBorders; | Устанавливает границы по краям компонента. |
Property EdgeInner: TEdgeStyle | Определяет вид внутренней границы:
|
Property EdgeOuter. TEdgeStyle; | Определяет вид внешней границы:
|
Property ExpandDelay: Integer; | Определяет задержку в миллисекундах перед показом скрытых команд меню. По умолчанию установлено значение равное 4000 миллисекунд. |
Property Visible: TActionClient; | Управляет видимостью полосы. |
Заметим, что для компонента TActionMainMenuBar (в отличие от TActionToolBar) свойство Visible не может иметь значение False (независимо от количества компонентов на форме). Иными словами, программа не может "спрятать" полосы главного меню.
На следующем шаге мы рассмотрим компоненты TActionToolBar и TCustomizeDlg.