Форум: "Основная";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];
ВнизКак создать коллекцию из контролов Найти похожие ветки
← →
LandWarrior (2002-10-13 18:04) [0]Как мне создать коллекцию из контролов, используя как можно меньше собственного кода, т.е. обойтись стандартной функциональностью TCollection где только возможно?
← →
Юрий Зотов (2002-10-13 18:17) [1]Стандартная функциональность TCollection не предусматривает, чтобы его Item"ы не были потомками TCollectionItem. Поэтому поработать все же придется, хотя и немного.
1. Создаем свой TControlCollectionItem, вводя в него published-свойство Control: TControl с методом Set (последний нужен для задействования стандартного механизма FreeNotification через компонент-владелец коллекции - при удалении Control"а ссылка на него должна быть очищена).
2. Создаем свой TControlCollection, в котором класс Item"ов переопределен на TControlCollectionItem.
3. Создаем компонент TControlLinks, который будет выступать владельцем коллекции (его основная роль - очистка ссылок на контролы в своем Notification).
Вот и все. Кладем этот компонент на форму - и получаем коллекцию ссылок на контролы с возможностью ее настройки в design-time.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.013 c