8 8 8 8 8 8 8 8 8 8 8 8 8 8
8
8
|
|
TActionList - механизм действий - Программирование от RIN.RU
TActionList - механизм действий
Этот компонент впервые введен в Delphi 4. Он не имеет видимого изображения и служит для поддержки механизма действий (см. п. 17.7).
Основная схема его использования такова. Вначале с помощью его редактора создается действие - объект класса TAction (редактор вызывается двойным щелчком на компоненте либо с помощью опции ActionList Editor его вспомогательного меню, которое раскрывается после щелчка на нем правой кнопкой мыши - рис. 18.8).
Этот объект (на рисунке он имеет умалчиваемое имя Action1) имеет ряд свойств и событий, с помощью которых уточняется характер действия. Доступ к этим свойствам и событиям можно получить с помощью окна Инспектора объектов. С действием можно связать группу свойств (Caption, Checked, Enabled, Shortcut И Т. Д.), которыне будут помещаться в одноименные свойства компонентов, реализующих общее действие. Если с компонентом связан контейнер пиктограмм типа TImageList (свойство images - не действия, а самого компонента TActionList), при реализации действия можно использовать одну из хранящихся в нем пиктограмм (ImageIndex). Чтобы действие подкреплялось программным кодом, для него обязательно следует определить обработчик события OnExecute.
В свойства Action тех компонентов, активизация которых должна сопровождаться одним и тем же действием (например, в свойства Action опции меню и кнопки инструментальной панели), помещается имя только что определенного действия (Actioni). В результате выбор опции или нажатие кнопки вызовут один и тот же метод (OnExecute), в меню появится пиктограмма (imageindex), такая же пиктограмма будет у кнопки, у них будет одинаковые названия (caption), оперативные подсказки (Hint) И Т. Д.
Свойства компонента:property ActionCount: Integer; | Содержит количество определенных в компоненте действии (только для чтения) | property Actions[Index: Integer]: TContainedAction; | Позволяет программе обратиться к нужному действию (объекту класса TContainedAction) по его индексу index | property Images: TCustomImageList; | Содержит имя компонента класса TimageList | type TActionListState = (asNormal, asSuspended, asSus-pendedEnabled) ; property State: TActionListState; | Состояние действий: asNormal - нормальное; asSuspended - механизм действий отключен, их свойства Enabled не изменены; asSuspendedEnabled - механизм действий отключен, но их свойства Enabled имеют значения True |
Редактор компонента создает объекты класса TAction. Свойства этого класса в основном определяют те значения, которые будут иметь одноименные свойства всех компонентов или опций меню, связанных общим действием (если, разумеется, компонент или опция меню имеет данное свойство).
Свойства TAction:property Caption: String; | Содержит строку, которая будет устанавливаться в свойствах caption всех компонентов, связанных данным действием | property Checked: Boolean; | Содержит значение, которое будет устанавливаться в свойствах Checked | property DisableIfNoHandler: Boolean; | Указывает, будут ли запрещены для выбора связанные компоненты, если для действия не определен обработчик OnExecute | property Enabled: Boolean; | Содержит значение, которое будет устанавливаться в свойствах Enabled | property HelpContext: THelpContext; | Содержит значение, которое будет устанавливаться в свойствах HelpContext | property Hint: String; | Содержит строку, которая будет устанавливаться в свойствах Hint | property Imagelndex: Integer; | Содержит индекс изображения в хранилище, указанном в свойстве images компонента. Это изображение будет связано с компонентами данного действия | property Shortcut: TShortCut; | Содержит значение, которое будет устанавливаться в свойствах shortcut | property Visible: Boolean; | Содержит значение, которое будет устанавливаться в свойствах visible |
|
Рис. 18.8. Редактор компонента TActionList
Свойства TAction:property OnExecute: TNotifyEvent; | Возникает при щелчке мышью на одном из компонентов, связанных общим действием. Обработчик этого события должен реализовать нужное действие | THintEvent = procedure (var HintStr: String; var CanShow: Boolean) of object; property OnHint: THintEvent; | Возникает при перемещении указателя мыши над одним из связанных общим действием компонентов. Его умалчиваемый обработчик создает окно оперативной подсказки и показывает в нем строку HintStr | property OnUpdate: TNotifyEvent; | Возникает, когда очередь сообщений для приложения пуста или когда обновляется содержимое списка действий/td> |
Примечание
В версии Delph6 введена группа компонентов (См. ниже пп. 18.2.23), обеспечивающая более мощную Поддержку механизма действий, в том числе создание настраиваемого пользовательского интерфейса, Таким образом, компонент TActionList используется лйщБ;яД&Рвместимо(дхс более разними версиями.
8 8 8
| |
|
|