Так будет располагаться информация
Рисунок 5.5. Так будет располагаться информация компонента TListView в режиме vsReport
Элементы в списке могут быть отсортированы — за это отвечает свойство SortType. Можно отсортировать элементы не только по названию (это возможно при значении SortType, равном stText), но и по данным (значения stData и stBoth), как это сделано в утилите Explorer. Для реализации такой сортировки нужно обработать события OnColumnClick И OnComparel
var ColNum : Integer;
procedure TMainForm.ListViewlColumnClick(Sender: TObject; Column:
TListColumn);
begin
ColNum := Column.Index;
ListViewl.AlphaSort;
end;
procedure TMainForm.ListViewlCompare(Sender: TObject; Iteml, Item2:
TListltem; Data: Integer; var Compare: Integer);
begin
if ColNum = 0 then // Заголовок
Compare := CompareStr(Iteml.Caption, Item2 .Caption);
else
Compare := CompareStr(Iteml.Subltems[ColNum-1],
Item2 .Subltems[ColNum-1]); end;
Рассмотрим пример использования компонентов TTreeview и TListview. Где их совместное применение будет полезным? Выберем для этого отображение данных системного реестра. С одной стороны, ключи в реестре упорядочены иерархически. С другой, каждый из них может иметь несколько
разнотипных значений. Таким образом, мы почти пришли к тому же решению, что и разработчики из Microsoft, создавшие утилиту Registry Editor — слева дерево ключей, справа — расширенный список их содержимого.
Конечно, нет смысла дублировать их труд. Здесь мы ограничимся только просмотром реестра, затратив на это совсем немного усилий — четыре компонента и пару десятков строк кода. Так выглядит главная (и единственная) форма приложения Mini-Registry browser (Рисунок 5.6).