Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга о KOL.doc
Скачиваний:
29
Добавлен:
30.04.2019
Размер:
1.77 Mб
Скачать

3.15.1. Свойства всего дерева

TVSelected - возвращает дескриптор текущего узла в дереве. Этот узел является одновременно и выделенным. Если такого узла в дереве нет, то возвращается 0. Присваивая дескриптор некоторого узла этому свойству, тем самым его можно сделать текущим (прочие выделенные при этом перестают быть выделенными);

OnTVSelChanging - событие возникает перед выделением узла. Обработчик события может отменить операцию выделения, возвратив true, и не допустить тем самым выделение каких-то узлов в дереве;

OnSelChange – данное событие срабатывает для просмотра дерева после смены текущего выделенного узла;

TVRightClickSelect - данное свойство определяет для окна дерева, будет ли щелчок правой клавишей мыши по невыделенному узлу делать его выделенным;

TVDropHilighted и TVDropHilited - синонимы одного и того же свойства. Возвращают (и устанавливают) узел, который обозначен (и визуально изображен иначе) как узел-цель для бросания "перетаскиваемого" мышью объекта или узла (операция drag and drop);

TVRoot - дескриптор первого узла верхнего уровня (0, только если дерево пусто);

TVFirstVisible - возвращает (и позволяет установить) первый видимый узел в клиентской части дерева;

TVIndent - размер (в пикселях) отступа дочерних узлов по отношению к родительскому. Позволяет установить желаемое значение, отличающееся от значения по умолчанию;

3.15.2. Добавление и удаление узлов (tree view)

TVInsert( Parent, After, s ) и TVInsertW( Parent, After, s ) - создает узел, дочерний по отношению к Parent, по порядку следующий за узлом After, и задает для него строку s в качестве текста;

TVDelete( Node ) - удаляет указанный узел (вместе с узлом, автоматически удаляются все подчиненные ему узлы - рекурсивно);

OnTVDelete - событие, которое срабатывает при удалении каждого узла в дереве. Обработчик этого события может, например, освободить память, объекты или другие ресурсы, связанные с удаляемым элементом (TVItemData);

Clear - так же, как и для других визуальных элементов, работает для просмотра дерева, удаляя все его узлы.

3.15.3. Свойства родительских узлов (tree view)

TVItemChild[ Node ] - возвращает дескриптор первого дочернего узла для заданного узла Node (или 0, если у узла Node нет подчиненных узлов в дереве);

TVItemHasChildren[ Node ] - это не просто проверка того, что узел Node имеет дочерние узлы. Существует возможность с помощью данного свойства указать окну, что узел Node "имеет" дочерние узлы, и с этого момента напротив этого элемента будет изображаться кнопка "+", позволяющая распахнуть данный узел, хотя бы даже в нем и не было подчиненных узлов. При этом в момент распахивания можно эти самые узлы и добавить. Данная особенность может использоваться для откладывания на будущее загрузки тех вложенных узлов, которые пока еще не потребовались, и повышения тем самым скорости первоначального наполнения содержимого дерева;

TVItemChildCount[ Node ] - возвращает количество дочерних узлов для Node, непосредственно вложенных в него;

TVItemExpanded[ Node ] - определяет, является ли узел раскрытым. Присваиванием значения true данному свойству можно обеспечить его раскрытие (false - закрытие);

TVItemExpandedOnce[ Node ] - возвращает true, если узел был раскрыт по крайней мере один раз (после чего сбросить этот флаг можно только удалив все дочерние узлы);

TVExpand( Node, flags ) - распахивает или схлопывает узел Node, в зависимости от флагов. В параметре флагов можно передать комбинацию флагов:

TVE_COLLAPSE - схлопывает узел;

TVE_COLLAPSERESET - дополнительно к схлопыванию, удаляет дочерние элементы;

TVE_EXPAND - распахивает узел;

TVE_TOGGLE - если узел раскрыт, закрывает его, и, если он раскрыт, то захлопывает;

TVSort( Node ) - сортирует дерево, начиная с указанного узла. Если в качестве параметра Node передан 0, сортируется все дерево;