Компонент TListView позволяет отображать данные в виде списков, таблиц, крупных и мелких пиктограмм. С подобным отображением все вы сталкиваетесь, раскрывая папки Windows.
Стиль отображения информации определяется свойством ViewStyle, которое может устанавливаться в процессе проектирования или программно во время выполнения. Основное свойство компонента, описывающее состав отображаемой информации - Items. Во время проектирования оно может быть установлено специальным редактором, вызываемым щелчком на кнопке с многоточием рядом с этим свойством в окне Инспектора Объектов. В нем можно вводить новые узлы и дочерние узлы. Смысл дочерних узлов - это информация, которая появляется только в режиме vsReport (в виде таблицы). Для каждого нового узла можно указать ряд свойств. Свойство Caption - это надпись, появляющаяся около пиктограммы. Для дочерних узлов это свойство соответствует надписи, появляющейся в с ячейках таблицы в режиме vsReport. Свойство ImageIndex определяет индекс пиктограммы. Индексы соответствуют спискам изображений, хранящихся в отдельных компонентах TImageList, на которые указывают свойства LargeImages (для режима vsIcon) и SmallImages (для режимов vsSmallIcon, vsList и vsReport) компонента TListView. Свойство узла StateIndex позволяет добавить вторую пиктограмму в данный объект для его дополнительной характеристики. Индекс соответствует списку изображений, хранящихся в отдельном компоненте TImageList, указанном в свойстве StateImages компонента TListView.
Свойство Columns определяет список заголовков таблицы в режиме vsReport при свойстве ShowColumnHeaders (показать заголовки), установленном в true. Свойство Checkboxes определяет отображение индикатора с флажком около каждого элемента списка. Индикаторы можно устанавливать программно или их может изменять пользователь во время выполнения. Тогда узнать программно, установлен ли индикатор в некотором элементе Items[i], можно проверкой его свойства Checked.
Свойства HotTrack и HotTrackStyles определяют появление выделения при перемещении курсора над элементом списка и стиль этого выделения. Свойство HoverTime задает в миллисекундах задержку появления такого выделения.
Свойство списка Selected определяет выделенный пользователем элемент списка. Свойство DragMode определяет режим перетаскивания элементов списка.
Метод Arrange позволяет упорядочить пиктограммы в режимах vslcon и vsSmallIcon.
Свойство WorkAreas определяет рабочую область (прямоугольную рамку), в которой осуществляется выравнивание пиктограмм в режимах vsIcon и vsSmallIcon. Свойство WorkAreas представляет собой индексированный список, аналогичный Items, но совершенно независимый от него. Если WorkAreas - пустой список (ни одна область в него не добавлена), то упорядочивание пиктограмм производится в пределах всей клиентской области ListView. Добавление новой рабочей области осуществляется методом Add. Свойство рабочей области Rect типа TRect определяет границы области. Свойство Color определяет цвет рамки, обрамляющей область. Свойство DisplayName определяет подпись под рамкой. И рамка, и подпись отображаются только в случае, если свойство списка ShowWorkAreas установлено в true.
Упорядочивание пиктограмм происходит в пределах той области, в которой они находятся. Способ упорядочивания определяется соответствующим заданием свойства SortType, определяющего характер сортировки.