В зависимости от значения этого свойства кардинально меняется внешний вид компонента. Описание значений приведено в табл. 5.5.

Таблица 5.5. Режимы отображения компонента TListview Значение Внешний вид

vslcon Элементы списка появляются в виде больших значков с надписью под ними. Картинки для больших значков хранятся в свойстве Largeimages. Возможно их перетаскивание

vsSmalllcon Элементы списка появляются в виде маленьких значков с надписью справа. Картинки для маленьких значков хранятся в свойстве Smallimages. Возможно их перетаскивание

vs List Элементы списка появляются в колонке один под другим с надписью справа. Перетаскивание невозможно

vsReport Элементы списка появляются в нескольких колонках один под другим. В первой содержится маленький значок и надпись, в остальных- определенная программистом информация. Если свойство ShowColumnHeaders установлено в значение True, колонки снабжаются заголовками

Как и для предыдущего компонента, элементы списка содержатся в свойстве items. Это и есть собственно список; ничего необычного, кроме методов добавления/удаления, там нет. Каждый элемент списка (объект Tlistitem) в свою очередь похож на компонент rrreeNode. Но у него есть и важное отличие - он может стать носителем большого количества дополнительной информации. Помимо свойства Data у него есть и свойство

property Subi terns: TStririgs;

При помощи этого свойства с каждым элементом списка может быть связан целый набор строк и объектов. Но как эти строки показать пользователю?

Именно они должны, по замыслу разработчиков этого элемента управления, отображаться в режиме отображения vsReport. Сначала следует создать необходимое количество заголовков колонок (заполнив свойство columns), учитывая, что первая из них будет отведена под сам текст элемента списка (свойство Caption). Последующие же колонки будут отображать текст строк ИЗ свойства items. subitems (рис. 5.5).

Columns[0]

Columns[1]

Columns[m+1]

Items [0].Caption

Items[0].Subitems[0]

Items[0].Subitems [m]

Items[1].Caption

Items [1].Subitems[0]

Items[1].Subitems[m]

Items [n] .Caption

Items[n].Subitems[0]

Items[n].Subitems [m]

Рис. 5.5. Так будет располагаться информация компонента Тиэ1:\/1е\л/в режиме УЭ Н. е р о г1

Элементы в списке могут быть отсортированы - за это отвечает свойство SortType. Можно отсортировать элементы не только по названию (это возможно при значении SortType, равном st Text), но и по данным (значения stData и stBoth), как это сделано в утилите Explorer. Для реализации такой

ССрТИрОВКИ НУЖНО обработать события OnColumnClick И ОпСопраге:

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);

⇐ Предыдущая страница| |Следующая страница ⇒

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



Новости за месяц

  • Октябрь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс