|
Категория List
В этой категории выделяются две группы
действий. Первые пять из них (табл. 8.3) автоматизируют
работу с выделенными элементами списков. Оставшиеся
два — TStaticListAction И
TVirtualListAction — требуют отдельного рассмотрения.
Таблица 8.3. Действия
по работе с выделенными элементами списков
|
|
|
|
|
Выделяет все элементы списка.
Активно, только если у списка свойство
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;
|