Пропустить навигацию.
Главная

Присоединение объектов к строкам списка ListBox

Строки списков типа Tsrings, к которым относятся и классические списки ListBox, предусматривают возможность присоединения к текстовому содержимому строки (…Items.Strings[j], …->Items->Strings[j]) какого-либо объекта, запоминаемого в массиве Objects.

Для этой цели кроме методов, упомянутых в табл. 4.1, применяются следующие процедуры, одним из аргументов которых является указатель на некоторый объект:

Список->AddObject(строка, объект)

Список->IndexOfObject(объект)

Список->InsertObject(индекс, строка, объект)

Функция AddObject добавляет строку и ассоциированный с ней объект в список. Возвращаемое значение совпадает с индексом добавленного элемента. Функция IndexOfObject осуществляет поиск среди элементов списка такой строки, с которой ассоциирован объект, совпадающий с аргументом функции. Если таковой не находится, то функция возвращает значение –1. Процедура InsertObject вставляет строку и ассоциированный ней объект в позицию списка, определяемую индексом.

Объекты, ассоциированные со строками списка, системой не отображаются. Такие действия должны выполнять обработчики событий OnDrawItem и OnMeasureItem подобно тому, это демонстрировалось в программах просмотра шрифтов и икон.