Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

2 .3.9.7. Дерево элементов (TreeView)

К омпонент (панель Win32) отображает свои эле­мен­ты в виде дерева, аналогичного структуре ка­талогов, выводимого проводником Windows. Де­ре­во фор­мируется редактором вызываемого при формиро­ва­­нии значения свойства Items, анало­гич­ным ре­дак­­­тору ListView (число уровней любое). Дерево состоит из узлов ти­­­па TTreeNode. Многие свойства дерева совпадают со свой­ствами ListView.

Специфичные свойства дерева

AutoExpand ‑ при перемещении фокуса узлы сворачиваются и разво­ра­чи­ваются автоматически.

ChangeDelay ‑ пауза в миллисекундах от выделения узла до генерации сообщения OnChange.

Indent ‑ расстояние между узлами в пикселях.

ShowButtons ‑ узлы отображаются в виде кнопок с символами “+”, “‑“.

ShowLines, ShowRoot ‑ вывод линий между узлами и уровнями дерева.

StateImages ‑ список картинок для отображения состояния узлов.

ToolsTips ‑ разрешается вывод всплывающей подсказки для каждого узла.

Специфичные свойства узла дерева

AbsoluteIndex ‑ абсолютный номер узла в дереве по уровням (колонками).

Count, Text ‑ число потомков узла, выводимый в узле текст.

Data ‑ ссылка типа Pointer на объект, связанный с элементом.

Deleting, Expanded, Focused ‑ узел удаляется, развернут, в фокусе.

HasChildren, IsVisible, Selected ‑ узел с потоками, виден, выделен.

ImageIndex, Index ‑ номер картинки; узла в списке потомков родителя.

Item, Level ‑ массив узлов потомков узла, номер уровня узла.

SelectedIndex ‑ номер картинки, выделенного узла.

Специфичные методы

AlphaSort,FullCollapse, FullExpand ‑ сортировка, сжатие, раскрытие узлов.

Collaps(R)/Expand(R) ‑ сжатие/разворот узла и его потомков при R=True.

Delete, DeleteChildren ‑ удаление узла и его потомков только потомков.

Get First/Last Child:TtreeNode ‑ возвращение первого/последнего потомка.

Get Next/Prev:TTreeNode ‑ возвращает следующий/предыдущий узел.

Get Next/Prev Child (V : TTreeNode) : TtreeNode ‑ возвращает следую­щий/пре­дыдущий узел по отношению к узлу‑потомку V.

Get Next/Prev Sibling/Visible : TtreeNode ‑ возвращает следующий/пре­ды­ду­щий любой/видимый узел на уровне текущего узла.

HasAsParent(V:TTreeNode) ‑ возвращает True, если V есть родитель узла.

IndexOf(V:TTreeNode) ‑ возвращает номер узла в списке потомков узла V.

MakeVisible ‑ разворачивает узлы так, чтобы текущий узел стал видимым.

Пример просмотра всего дерева:

Procedure TForm1.Button1Click(Sender: TObject);

Var C:TTreeNode; Begin C:=TreeView1.Items.GetFirstNode; //первый узел

While С<>Nil Do Begin Label1.Caption:=C.Text; C:=C.GetNext; End; End;

2.3.10. Системные компоненты

2.3.10.1. Таймер (Timer)

Н евизуальный компонент таймер (панель System) для организации выполнения процедур, связанных с интервалами времени.

Специфичные свойства

Enabled ‑ включение/выключение таймера (True/False).

Interval ‑ интервал времени в миллисекундах, по истечении, которого возникает очередное событие OnTimer.

Пример вывода текущего времени в строке статуса (п. 2.3.1.3):

Procedure TForm1.Timer1Timer(Sender: TObject); //обработчик OnTimer

Var T:TDateTime; Begin Timer1.Interval:=1000; //интервал одна секунда

T:=Time;Statusbar1.SimpleText:=TimeToStr(T);{простая строка статуса}

Еnd;