Для добавления узлов в дерево используются десять методов объекта TTreeNode (табл. 5.4).

Таблица 5.4. Методы, позволяющие добавлять узлы в объект TTreeNode

Метод

Описание

function Add (Node:

TTreeNode;

Узел добавляется

последним в тот же

const S: string):

TTreeNode;

список, что и узел

Node

Таблица5.4 (окончание)

Метод

Описание

function AddObject(Node: TTreeNode;

To же, что и метод Add, но с узлом свя-

const S: String; Ptr: Pointer):

зываются данные из параметра Ptr

TTreeNode;
function AddFirst(Node: TTreeNode;

Узел добавляется первым в тот же спи-

const S: string): TTreeNode;

сок, что и узел Node

function AddObjectFirst(Node:

То же, что и метод AddFirst, но с уз-

TTreeNode;
const S: string;

лом связываются данные из параметра

Ptr: Pointer) : TTreeNode;

Ptr

function AddChild(Node: TTreeNode;

Узел добавляется последним в список

const S: string): TTreeNode;

дочерних узлов узла Node

function AddChildObject(Node:

Тоже, что и метод AddChild, но с уз-

TTreeNode;
const S: string;

лом связываются данные из параметра

Ptr: Pointer) : TTreeNode;

Ptr

function AddChildFirst(Node:

Узел добавляется первым в список

TTreeNode; Const S: String):

дочерних узлов узла Node

TTreeNode;

function AddChildObjectFirst(Node:

То же, что и метод AddChildFirst, но

TTreeNode;
const S: string;

с узлом связываются данные из пара-

Ptr: Pointer): TTreeNode;

метра Ptr

function Insert(Node: TTreeNode;

Узел добавляется непосредственно

const S: string): TTreeNode;

перед узлом Node

function InsertObject(Node:

То же, что и метод Insert, но с узлом

TTreeNode;
const S: string;

связываются данные из параметра Ptr

Ptr: Pointer) : TTreeNode;

Во всех этих методах параметр 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).

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

Рис. 5.4. Внешний вид редактора узлов компонента TTreeView

Внешний вид компонента TTreeView может быть весьма основательно настроен под нужды пользователя. Свойство ShowButtons отвечает за то, будут ли отображаться кнопки со знаком " + " и "-" перед узлами, имеющими "потомство" (дочерние узлы). Щелчок на этих кнопках позволяет сворачивать/разворачивать дерево дочерних узлов. В противном случае делать это нужно двойным щелчком на узле или установить свойство AutoExpand в значение True - тогда сворачивание и разворачивание будет происходить автоматически при выделении узлов. Свойство snowlines определяет, будут ли родительские и дочерние узлы соединяться видимыми линиями. Аналогично, свойство ShowRoot определяет, будут ли на рисунке соединяться между собой линиями корневые узлы (если их несколько). При помощи свойства HotTrack можно динамически отслеживать положение текущего узла: если оно установлено в значение True, то текущий узел (не выделенный, а именно текущий - тот, над которым находится курсор мыши) подчеркивается синей линией.


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

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



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

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