Компонент TTreeView – дерево иерархии 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Компонент TTreeView – дерево иерархии



Компонент TTreeView служит для показа ветвящихся иерархических структур, таких как дерево наследования объектов или файловая структура диска. Он содержит связанные узлы, каждый из которых может содержать пиктограмму, текст и произвольный объект. Любой узел может иметь собственный рисок подузлов, которые можно раскрывать или закрывать щелчком мыши на пиктограмме узла.

Компонент TTreeView находится на вкладке Win32 и выбирается щелчком мыши по кнопке .

Узлы дерева могут добавляться двумя способами: на этапе конструирования с помощью инспектора объектов и в ходе выполнения программного кода.

Для наполнения списка на этапе конструирования программы нужно щелкнуть по компоненту правой кнопкой мыши и выбрать Items Editor, либо щелкнуть по нему дважды, либо, наконец, щелкнуть по кнопке в свойстве Items – во всех случаях на экране появится окно редактора компонента (рис. 33).

Чтобы начать наполнение, следует щелкнуть мышью по кнопке New Item и ввести связанный с узлом текст в поле Text. Для ввода подузла любого уровня сначала нужно щелкнуть в окошке Items по узлу, который должен стать родительским, и лишь затем по кнопке New Subltem.

Для ввода списка в режиме прогона программы следует широко использовать центральное свойство компонента – Items типа TTreeNodes, открывающее индексированный доступ ко всем узлам списка.

 

 

Рис. 33. Окно редактора компонента TTreeView

 

Пример внешнего вида компонента после запуска программы приведен на рис. 34.

 

 

Рис. 34. Пример компонента TTreeView

 

Каждый узел описывается классом TTreeNode, имеющим свои собственные методы и свойства. В частности, его свойство Item содержит список всех подузлов данного узла; с помощью многочисленных методов свойства ТТгееView.Items к этому списку можно добавить новый подузел, а с помощью метода TTreeNode.MoveTo – переместить узел в любую позицию дерева иерархии.

Пример.

Пусть при создании формы будет сформировано дерево, содержащее корневой узел, который содержит еще 10 уровней иерархии по одному узлу в каждом уровне.

procedure TForml.FormCreate(Sender: TObject);

Var

k: Integer;

Begin

with TreeViewl do

Begin

{Добавление корневого узла}

Items.Add(NIL, 'Корень');

{Добавление 10 вложенных узлов}

for k:= 1 to 10 do

Items.AddChild(Items[k-1], IntToStr(k))

end;

end;

 

Основные свойства и методы компонента TTreeView приведены в таблице 12.

 

Таблица 12

Основные свойства и методы компонента TTreeView

Свойство или метод Описание
property Items: TTreeNodes; Открывает доступ к любому узлу по его индексу. Индексация начинается с нуля и соответствует просмотру всех узлов полностью раскрытого списка.

 

Продолжение табл. 12

property Selected: TTreeNode; Содержит список всех выбранных узлов или NIL, если таких нет
property ShowButtons: Boolean; Разрешает/запрещает показ стандартных кнопок раскрытия подузлов.
functionAlphaSort Сортирует узлы по тексту и возвращает значение true, если сортировка прошла успешно
procedure FullCollapse; Прячет все узлы, кроме узлов самого верхнего уровня иерархии
procedure FullExpand; Показывает все узлы дерева иерархии

 

При программном заполнении списка следует пользоваться свойством TTreeView.Items класса TTreeNodes.

Основные свойства и методы класса TTreeNodes приведены в табл. 13.

 

Таблица 13

Основные свойства и методы компонента TTreeView

Свойство или метод Описание
propertyCount: Integer; Количество узлов входящих в дерево (Items)
propertyItem[Index: Integer]: TTreeNode; Открывает индексированный доступ к узлам
function Add (Node: TTreeNode; const S: String): TTreeNode; Добавляет узел в конец того дерева, в котором зарегистрирован узел Node. Если Node = NIL, добавляется корневой узел для всего компонента.
function AddChild (Node: TTreeNode; const S: String): TTreeNode; Добавляет узел в конец ветви Item дочерних узлов узла Node.

 

 

Продолжение табл. 13

function AddChildFirst (Node: TTreeNode; const S: String): TTreeNode; Добавляет узел в начало ветви Item дочерних узлов узла Node.
function AddFirst (Node: TTreeNode; const S: string): TTreeNode; Добавляет узел в начало той ветви, в которой зарегистрирован узел Node.
procedure Clear; Очищает список всех узлов и подузлов компонента
procedure Delete (Node: TTreeNode) Удаляет узел Node

 



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 292; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.31.209 (0.005 с.)