Обзор компонентов библиотеки C++Builder_______________________157

Окно редактора узлов дерева         д^а^.-^-.-.г—g^..„..„. .....„„„ ...... ... , [(едУгорей^-—^'"—^""^''.

компонента TreeView                 Й||)в^|ВВЗЯ' "".rNe^ten^l: ! w '' : : .(прои^впаство' !:

;р ;   ; .цех 1             р-.——————1 , j. -;::; ,    11 • 111!j ,: -      , .    ;

Д1. \ ' мх2          ^NswSubltanj И 1й>вэе irntex: 'JO! .''У,,;^

|||  :    i- цех 3               ll^———————] i '•'•: .'•.•:•       • . '"'-———::"." .^^

| а-яправление        |fc_ ?etet»_^, j :jJ,, ?;le0edlnde^ J1 „^^^Щ

1ЙЙ     I • ЭД"»"истрация 1$*-,,, ^ (I--! 'SiSctex^ [""'"^[вЙ! 11
Я|     ' бахгалгерия    l|p,-..l.paa^:j-J,:|: :•_ , :: ~   '-^„^tea'^a Is

S.--..„„„?i„J ..^-чЙ"'?1,.,-! :!^-„?,?^l,-l-\:-\•\-цelpll:l,,^' . -'ж"

Кнопка New Subltem (новый дочерний узел) позволяет добавить в дерево дочер-
ний узел. Он будет расположен на уровень ниже уровня того узла, который выде-
лен курсором в момент щелчка на кнопке New Subltem.

Кнопка Delete (удалить) удаляет выделенный узел дерева. Кнопка Load позво-
ляет загрузить структуру дерева из файла. Файл, хранящий структуру дерева —
это обычный текстовый файл, содержащий тексты узлов. Уровни узлов обознача-
ются отступами. Например, файл дерева, изображенного на рис. 3.3 и 3.7, может
иметь вид:

производство

цех 1

цех 2

цех 3
управление

администрация

бухгалтерия

Для каждого нового узла дерева можно указать ряд свойств в панели Item Pro-
perties окна на рис. 3.10. Это прежде всего свойство Text — надпись, появляющаяся
в дереве около данного узла. Свойства Image Index и Selected Index определяют ин-
декс пиктограммы, отображаемой для узла, который соответственно не выделен и
выделен пользователем в данный момент. Эти индексы соответствуют списку изоб-
ражений, хранящихся в отдельном компоненте ImageList (см. раздел 3.7.3). Ука-
зание на этот компонент вы можете задать в свойстве Images компонента TreeVi-
ew. Индексы начинаются с 0. Если вы укажете индекс -1 (значение по умолчанию),
пиктограммы изображаться не будут. Последнее свойство — State Index в панели
Item Properties позволяет добавить вторую пиктограмму в данный узел, не завися-
щую от состояния узла. Подобная пиктограмма может просто служить дополните-
льной характеристикой узла. Индекс, указываемый как State Index, соответствует
списку изображений, хранящихся в отдельном компоненте ImageList, указанном
в свойстве Statelmages компонента TreeView.

Мы рассмотрели формирование дерева в процессе проектирования. Однако,
дерево можно формировать или перестраивать и во время выполнения приложе-
ния. Для этого служит ряд методов объектов THnaTTreeNodes. Следующие методы
позволяют вставлять в'дерево новые узлы:

Add(TTreeNode* Node,               Добавляет новый узел с текстом S как
const System::AnsiString S) последний узел уровня, на котором
расположен Node

AddFirst(TTreeNode* Node,           Вставляет новый узел с текстом S как
const System::AnsiString S) первый из узлов уровня, на котором
находится Node. Индексы последую-
щих узлов увеличиваются на 1