Программирование на Delphi 7


         

Так будет располагаться информация



Рисунок 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).



Содержание раздела