Обзор компонентов библиотеки C++Builder________________________161

Мы рассмотрели основные возможности компонента Tree View. Компонент Out-
line похож на него. Структура дерева тоже содержится в свойстве Items и доступ к
отдельным узлам также осуществляется через этот индексный список узлов. Но ин-
дексы начинаются с 1. Например, Outlinel->Items[l] ->Text — это текст узла дере-
ва с индексом 1 (первого узла). Свойство Items имеет тип TOutlineNode. Его свойст-
ва и методы отличаются от свойств и методов типа узлов в Tree View. И заполняется
структура дерева иначе: через свойство Lines типа TStrings. Редактор этого свойст-
ва можно вызвать, щелкнув на кнопке с многоточием около свойства Lines в окне
Инспектора Объектов. Вы попадете в окно, в котором можете записать тексты всех
узлов, делая отступы, чтобы выделить уровни узлов. Текст должен выглядеть так,
как выше описывалось представление структуры в текстовом файле.

Пиктограммы, сопровождающие изображения узлов, задаются параметрами
PictureOpen (пиктограмма развернутого узла), PictureClosed (пиктограмма свер-
нутого узла), PictureMinus (пиктограмма символа «-» около развернутого узла,
имеющего наследников), PicturePlus (пиктограмма символа «+» узла, имеющего
наследников, но не развернутого), PictureLeaf (пиктограмма узла, не имеющего
наследников — листа дерева). Основное отличие пиктограмм Outline компонента
заключается в том, что они одинаковы для всех узлов одного типа, тогда как в Tree-
View можно задавать пиктограммы индивидуально для каждого узла.

Программно изменять структуру дерева можно с помощью методов Add, Ad-
dObject (добавление узла в дерево), Insert, InsertObject (вставка узла в заданную по-
зицию), AddChild, AddChildObject (вставка дочернего узла). Delete (удаление узла).

Индекс выделенного пользователем узла можно определить через свойство Se-
lectedltem. Если Selectedltem = 0, значит ни один узел не выделен. Текст выде-
ленного узла определяется свойством Text: например,

Outlinel->Items[Outlinel->SelectedItem]->Text

В заключение коротко рассмотрим компонент ListView. Он позволяет отобра-
жать в стиле Windows 95/98 данные в виде списков, таблиц, крупных и мелких
пиктограмм. С подобным отображением все вы сталкиваетесь, раскрывая папки
Windows.

Стиль отображения информации определяется свойством ViewStyle, которое
может устанавливаться в процессе проектирования или программно во время вы-
полнения. Свойство может принимать значения: vslcon — крупные значки,
vsSmallIcon — мелкие значки, vsList — список, vsReport — таблица. Что означа-
ет каждое из этих значений вы можете посмотреть в любой папке Windows на ра-
бочем столе.

Основное свойство компонента, описывающее состав отображаемой информа-
ции — Items. Во время проектирования оно может быть установлено специальным
редактором (рис. 3.11), вызываемым щелчком на кнопке с многоточием рядом с
этим свойством в окне Инспектора Объектов. Оно похоже на окно, описанное для
компонента Tree View (рис. 3.10). Точно так же в нем задаются новые узлы кноп-
кой New Item и дочерние узлы — кнопкой New Subltem. Только смысл дочерних уз-
лов другой: это информация, которая появляется только в режиме vsReport — в
виде таблицы.

Окно редактора списка объектов          SHiterr^g,^^
компонента ListView                      цвВВВаИ^^мес.него |1 ! capiion   Управление Я

^^ ;     аамцныстпацця I J-        I : : ^     '    '            ;::,^

|| !  "e^wep""     NwSubltem : ilflWincte: [2,:::;j|
||Ш произвсоство       ~____i l           ___ , ^...«11

.,),    .   '   )>|  . ""'"te    : I Stale Index: [1':^Ж
fe        OK          Cancel        dpply          Help    j    :

б ЗЕВС. 764