Рассмотрим работу с дочерними объектами менеджера действий, которые упакованы один в другой, как матрешки.
Итак, щелкнем на свойстве ActionManager на форме и посмотрим на содержимое Инспектора объектов. Внутри него мы обнаружим сразу две "матрешки" - свойство ActionBars содержит коллекцию ссылок на дочерние панели, свойство LinkedActionList может содержать дополнительный список действий, отданных "в управление" данному менеджеру - например, для централизованной установки общих свойств.
Щелкнем на свойстве ActionBars. Появится редактор панелей (рис. 8.7), а в Инспекторе объектов обратим внимание на следующее свойство объекта
ActionBars:
property Custcmizable: Boolean;
Это свойство указывает, может ли коллекция редактироваться во время выполнения.
В коллекции содержатся не сами панели, а их "заместители" - объекты типа TActionBaritem, которые на них указывают. Надпись на рисунке "1-ActionBar -> ActionTooIBar2" показывает, что первый элемент коллекции связан с панелью Асг.1опТоо1Ваг2. Вы можете добавлять и удалять элементы этой коллекции, по мере необходимости связывая их через свойство АсИопВаг с уже существующей панелью.
Рис. 8.7. Редактор коллекции панелей компонента TActionManager
Через Инспектор объектов вы можете изменять внешний вид объектов типа TActionBaritem и соответствующих им панелей.
Свойство
property Color: TColor;
отвечает за фоновый цвет панели. Если вам изменения цвета недостаточно, в качестве фона выберите картинку
property Background: TPicture;
которая будет расположена на панели в соответствии со значением свойства
property BackgroundLayout: TBackgroimdLayout;
TBackgroundLayout = (blNormal, blStretch, blTile, blLeftBanner, blPdghtBanner) ;
Помимо внешнего вида можно разрешить/запретить перетаскивание панелей и их дочерних элементов. Обратимся к свойству
property ChangesAllowed: TIliangesMlcwedSet;
TChangesAllowed = {caModify, caMove, caDelete);
TIlmigesMlcwedSet = set of TChangesAl lowed;
Множество из трех возможных значений позволяет запретить те или иные нежелательные изменения для дочерних элементов панели. Если в него не включен режим caDelete, то элемент нельзя убирать (перетаскивать) с панели. Если нет режима caMove - нельзя передвигать внутри панели. Наконец, отсутствие режима caModify означает запрет на изменение визуальных свойств (заголовка и т. п.).
Внутри коллекции TActionBaritem спрятаны еще две "матрешки" - свойства items и Contextitems. Оба свойства представляют из себя коллекции объектов, указывающих на действия (класс коллекции TActionCiients, класс элемента коллекции TActionCiientitem). Первое свойство указывает непосредственно на дочерние действия, второе - на действия, которые будут показаны в качестве всплывающего меню при нажатии правой кнопки мыши.
У коллекции TActionCiients есть заслуживающие особого упоминания свойства.
Свойство
property CaptionOptions: TCaptionCptions;
TEaptionCptions = (cdSfone, coSelective, coAll) ;
задает показ/отсутствие заголовков дочерних действий. В случае установки в coNone они не показываются, coAll - показываются все, coSelective - показываются в соответствии со значением showcaption дочернего объекта TActionCiientitem. Это свойство можно также установить на первой странице редактора менеджера действий в одноименном выпадающем списке.