Для добавления узлов в дерево используются десять методов объекта TTreeNode (табл. 5.4).
Таблица 5.4. Методы, позволяющие добавлять узлы в объект TTreeNode
Метод |
Описание |
||
function Add (Node: |
|
Узел добавляется |
последним в тот же |
const S: string): |
|
список, что и узел |
Node |
Таблица5.4 (окончание)
Метод |
Описание |
|
To же, что и метод Add, но с узлом свя- |
const S: String; Ptr: Pointer): |
зываются данные из параметра Ptr |
|
|
|
Узел добавляется первым в тот же спи- |
|
сок, что и узел Node |
function AddObjectFirst(Node: |
То же, что и метод AddFirst, но с уз- |
|
лом связываются данные из параметра |
|
Ptr |
|
Узел добавляется последним в список |
|
дочерних узлов узла Node |
function AddChildObject(Node: |
Тоже, что и метод AddChild, но с уз- |
|
лом связываются данные из параметра |
|
Ptr |
function AddChildFirst(Node: |
Узел добавляется первым в список |
TTreeNode; Const S: String): |
дочерних узлов узла Node |
|
|
function AddChildObjectFirst(Node: |
То же, что и метод AddChildFirst, но |
|
с узлом связываются данные из пара- |
|
метра Ptr |
|
Узел добавляется непосредственно |
|
перед узлом Node |
function InsertObject(Node: |
То же, что и метод Insert, но с узлом |
|
связываются данные из параметра Ptr |
|
Во всех этих методах параметр s - это текст создаваемого узла. Место появления узла (первый или последний) также зависит от состояния свойства TTreeView.SortType:
type TSortType = (stfbne, stData, stText, stBoth) ;
property SortType: TSortType;
Если узлы дерева как-либо сортируются, то новые узлы появляются сразу в соответствии с правилом сортировки. По умолчанию значение этого свойства равно stNone.
Добавляя к дереву сразу несколько узлов, следует воспользоваться парой методов BeginUpdate И EndUpdate:
TreeViewl.Items.BeginUpdate;
ShowSubKeys(Root,1);
TreeViewl.Items.EndUpdate;
Они позволяют отключать и снова включать перерисовку дерева на экране на момент добавления (удаления, перемещения) узлов и тем самым сэкономить подчас очень много времени.
Помимо добавления узлов в дерево программным способом можно сделать это и вручную во время разработки. При щелчке в Инспекторе объектов на свойстве items запускается специальный редактор (рис. 5.4).
Рис. 5.4. Внешний вид редактора узлов компонента TTreeView
Внешний вид компонента TTreeView может быть весьма основательно настроен под нужды пользователя. Свойство ShowButtons отвечает за то, будут ли отображаться кнопки со знаком " + " и "-" перед узлами, имеющими "потомство" (дочерние узлы). Щелчок на этих кнопках позволяет сворачивать/разворачивать дерево дочерних узлов. В противном случае делать это нужно двойным щелчком на узле или установить свойство AutoExpand в значение True - тогда сворачивание и разворачивание будет происходить автоматически при выделении узлов. Свойство snowlines определяет, будут ли родительские и дочерние узлы соединяться видимыми линиями. Аналогично, свойство ShowRoot определяет, будут ли на рисунке соединяться между собой линиями корневые узлы (если их несколько). При помощи свойства HotTrack можно динамически отслеживать положение текущего узла: если оно установлено в значение True, то текущий узел (не выделенный, а именно текущий - тот, над которым находится курсор мыши) подчеркивается синей линией.