Иллюстрированный самоучитель по Delphi 7 для профессионалов

Стандартные действия. Категории.

Категория Dialog

Эта категория примыкает к предыдущей, в ней содержатся остальные пять типовых действий-диалогов: TPrintoig, TCoiorSeiect, TFontEdit (из модуля StdActns) , TOpenPicture, TSavePicture (модуль ExtActns).

Категория Window

Эти действия стоит включать в интерфейс, только если вы используете многодокументный интерфейс (MDI). Названия компонентов говорят сами за себя: TWindowClose, TWindowCascade, TWindowTileHorizontal, TWindowTileVertical, TWindowMinimizeAll, TWindowArrange.

Категория Tab

Здесь всего два компонента – TNextTab и TPreviousTab. Если цель действия – набор страниц (TPageControl), они переключат его на следующую и предыдущую страницу соответственно.

Категория List

В этой категории выделяются две группы действий. Первые пять из них (табл. 8.3) автоматизируют работу с выделенными элементами списков. Оставшиеся два – TStaticListAction и TVirtualListAction – требуют отдельного рассмотрения.

Таблица 8.3. Действия по работе с выделенными элементами списков.

Действие Назначение
TListControlSelectAll Выделяет все элементы списка. Активно, только если у списка свойство MultiSelect установлено в значение True
TListControlClearSelection Отменяет выделение элементов в списке
TListControlDeleteSelection Удаляет выделенные элементы
TListControlCopySelection Копирует выделенные элементы списка в список Destination
TListControlMoveSelection Переносит выделенные элементы списка в список Destination

Действия работают с компонентом TListBox, а в среде Kylix – еще и с TListview (не путать с одноименным компонентом для Windows – он не годится для данной категории). Подходит также и TCоmbовох.

В отличие от многих других действий члены этой категории могут явно связываться с нужным вам списком. Если задано значение свойства Listcontrol, то все действия производятся над ним. Если нет, то выбирается активный список из числа имеющихся на форме.

Особняком стоят два действия – TStaticListAction и TVirtualListAction.

По замыслу разработчиков они являются централизованными хранилищами элементов для многих списков. Причем элементы списка могут храниться сразу с заданными картинками (т. е. свойствами imageindex) и указателями на сопутствующие данные.

Дальнейшее просто – разработчик выбирает нужные компоненты TListBox, TComboBox и т. п. и в их свойстве Action указывает на действие – хранилище. Опубликовано свойство Action у компонента TCоmbовохЕх (впервые появившегося в Delphi 6). У остальных потомков TControl это свойство относится к группе видимости public, поэтому вы можете сделать присвоение при запуске приложения (в методе onCreate главной формы).

Если действие и компонент-список связаны, то должны происходить две вещи:

  • при изменении текущего элемента в любом из компонентов происходит синхронное изменение во всех остальных;
  • когда пользователь выбирает один из элементов списка, выполняется действие, связанное с этим списком, и вызывается метод-обработчик:
type TItemSelectedEvent = procedure(Sender: TCustomListAction;
Control: TControi) of object;
property OnltemSelected: TItemSelectedEvent;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.