Компонент TreeView служит для показа ветвящихся иерархических структур, таких как файловая структура диска. Он содержит связанные узлы, каждый из которых может содержать пиктограмму или текст. Любой узел может иметь собственный список подузлов, который можно раскрывать или закрывать щелчком мыши на пиктограмме узла.
Для наполнения списка на этапе конструирования программы нужно щелкнуть по компоненту правой кнопку мыши и выбрать Items Editor. На экране появляется окно редактора компонента.
Чтобы начать наполнение, щелкните по кнопке New Item и введите связанный с узлом текст в поле Text. Для вывода подузла любого уровня сначала нужно щелкнуть в окошке Items по узлу, который должен стать родительским, и лишь зачем – на кнопке New SubItem.
Свойства компонента TreeView:
Свойство
Значение
Items
Открывает доступ любому узлу по его индексу
Images
Содержит набор изображений, которые будут использоваться при прорисовке узлов.
Indent
Определяет отступ в пикселях от левого угла узла для всех его подпунктов
BorderStyle
Определяет стиль рамки
SortType
Указывает способ сортировки узлов:
stNone – нет сортировки;
stData – сортировка по данным;
stText – сортировка по тексту надписей;
stBoth – сортировка по тексту и по данным
ReadOnly
Запрещает/разрешает редактирование надписей в узлах
Методы компонента TreeView:
Метод
Назначение
FullCollapse
Прячет все узлы, кроме узлов самого верхнего уровня иерархии
FullExpand
Показывает все узлы дерева иерархии
LoadFromFile(FileName: string)
Загружает дерево иерархии из файла
SaveToFile(FileName: string)
Сохраняет в файле дерево иерархии
События компонента TreeView:
Событие
Значение
OnChange
Возникает при смене состояния выбора у одного из узлов. Node –узел, который изменил состояние.
OnCollapsed
Возникает при закрытии списка подузлов узла Node
OnDeletion
Возникает при удалении узла Node из дерева иерархии
OnExpanded
Возникает при распахивании списка подузлов узла Node
При программном заполнении списка следует пользоваться свойством TreeView.Items класса TTreeNodes:
Свойства класса TTreeNodes
Свойство
Значение
Count
Количество узлов, входящих в Items
Item[Index]
Открывает индексированный доступ к узлам
Owner
Содержит ссылку на родительский список
Методы класса TTreeNodes
Метод
Назначение
Add(node:TTreeNode, const s: string)
Создание нового элемента и его добавление в конец списка/ Если Node = NIL, добавляется корневой узел для всего компонента
Clear
Удаление всех элементов списка и освобождение занимаемой ими памяти
Delete (index: integer)
Удаление указанного элемента
Insert (index: integer)
Создание нового элемента и его добавление в указанную позицию списка
Каждый узел класса TTreeNode имеет свой набор методов и свойств.
Свойства TTreeNode
Свойство
Значение
AbsoluteIndex
Возвращает абсолютный индекс узла (с учетом всех подузлов)
Count
Содержит количество подузловв списке Item
Expanded
Содержит True, если узел распахнут
Text
Содержит текст узла
TreeView
Содержит ссылку на компонент TreeView, к которому принадлежит узел
Методы класса TTreeNode
Метод
Назначение
AlphaSort
Сортирует узлы по алфавиту свойств text и возвращает True в случае успеха
Collapse(Recourse: Boolean)
Закрывает все узлы (recourse=true) или только распахнутые (recourse=false)