---
title: "Интерфейс ksPropertyTreeNotify\\IPropertyTreeNotify"
type: interface
api: [api7]
tags: [interface, api7, kspropertytreenotify]
sources:
  - kspropertytreenotify.html
---

*API интерфейсов. Версия 7 > Интерфейсы событий *


## Интерфейс ksPropertyTreeNotify\IPropertyTreeNotify

| ksPropertyTreeNotify | - интерфейс Automation |
| --- | --- |
| IPropertyTreeNotify | - интерфейс COM |
Интерфейс событий элемента управления - Дерева.
Иерархия:
IDispatch
ksPropertyTreeNotify
Источником событий для подписки на данный интерфейс является IPropertyTree - элемент управления Панели свойств - Дерево.
Версия Компас v23
ksPropertyTreeNotify\IPropertyTreeNotify - события


## BeginTextEdit - Событие начала переименования узла дерева

Синтаксис Automation:
```
BOOL BeginTextEdit( IPropertyTreeNode * Node );
```
Синтаксис COM:
```
BOOL BeginTextEdit( IUnknown * Node );
Возвращаемое значение:
TRUE    - разрешить редактирование,
FALSE    - запретить редактирование.
Выходные параметры:
Node    - указатель на интерфейс узла IPropertyTreeNode.
```


## CollapseNode - Узел свернут

Синтаксис Automation:
```
BOOL CollapseNode( IPropertyTreeNode * Node );
```
Синтаксис COM:
```
BOOL CollapseNode( IUnknown * Node );
Возвращаемое значение:
- не используется.
Выходные параметры:
Node    - указатель на интерфейс сворачиваемого узла IPropertyTreeNode.
```


## ContextMenuRequest - Запрос контекстного меню для узла дерева

Синтаксис Automation:
```
BOOL ContextMenuRequest( IDispatch* Node );
```
Синтаксис COM:
```
HRESULT ContextMenuRequest( IDispatch* Node, BOOL * Result );
Возвращаемое значение:
- не используется.
Выходные параметры:
Node    - указатель узла дерева IPropertyTreeNode.
КOMPAS v24
```


## EndTextEdit - Событие завершения переименования узла дерева

Синтаксис Automation:
```
BOOL EndTextEdit( IPropertyTreeNode* Node );
```
Синтаксис COM:
```
BOOL EndTextEdit( IUnknown * Node );
Возвращаемое значение:
- не используется.
Выходные параметры:
Node    - указатель на интерфейс узла IPropertyTreeNode.
```


## ExpandNode - Узел развернут

Синтаксис Automation:
```
BOOL ExpandNode( IPropertyTreeNode* Node );
```
Синтаксис COM:
```
BOOL ExpandNode( IUnknown * Node );
Возвращаемое значение:
- не используется.
Выходные параметры:
Node    - указатель на интерфейс разворачиваемого узла IPropertyTreeNode.
```


## NodeDblClick - Двойной клик по узлу дерева

Синтаксис Automation:
```
BOOL NodeDblClick( IPropertyTreeNode* Node );
```
Синтаксис COM:
```
HRESULT NodeDblClick( IUnknown* Node, BOOL * Result );
Возвращаемое значение:
- не используется.
Выходные параметры:
Node    - указатель на интерфейс узла IPropertyTreeNode.
```


## NodeDragDroped - Событие перемещения узла дерева

Синтаксис Automation:
```
BOOL NodeDragDroped( IPropertyTreeNode* Node, IPropertyTreeNode* DragNode, BOOL CtrlPressed );
```
Синтаксис COM:
```
BOOL NodeDragDroped( IUnknown * Node, IUnknown * DragNode, BOOL CtrlPressed, BOOL * Result );
Возвращаемое значение:
- не используется.
Выходные параметры:
Node    - перемещаемый узел IPropertyTreeNode,
DragNode    - узел, к которому перемещается IPropertyTreeNode,
CtrlPressed    - признак нажатия клавиши Ctrl.
```


## NodeDragOver - Событие перемещения узла дерева

Синтаксис Automation:
```
BOOL NodeDragOver( IPropertyTreeNode* Node, IPropertyTreeNode* DragNode, BOOL CtrlPressed, BOOL RequiredDropAfter );
```
Синтаксис COM:
```
BOOL NodeDragOver( IUnknown * Node, IUnknown * DragNode, BOOL CtrlPressed, BOOL RequiredDropAfter );
Возвращаемое значение:
TRUE    - разрешить перемещение.
Выходные параметры:
Node    - перемещаемый узел IPropertyTreeNode,
DragNode    - узел, к которому перемещается IPropertyTreeNode,
CtrlPressed    - признак нажатия клавиши Ctrl,
RequiredDropAfter    -TRUE - узел будет вставляться после узла DragNode, - FALSE - узел будет вставляться внутрь узла DragNode.
```
Примечание:
Для использования перемещения в дереве требуется установить свойство IPropertyTree::EnableDrag.
В событии ksPropertyTreeNotify::NodeDragStarted также требуется разрешить перемещение узла, установив свойство IPropertyTreeNode::DragPermitted равным true.
В событии нужно учитывать, что перетаскиваться могут несколько селектированных в данный момент узлов. В зависимости от этого библиотека может запрещать или разрешать перемещение.
В зависимости от данных признаков в событии требуется установить свойству IPropertyTreeNode::DropPermission нужное значение.


## NodeDragStarted - Событие начала перемещения узла дерева

Синтаксис Automation:
```
BOOL NodeDragStarted( IPropertyTreeNode* Node );
```
Синтаксис COM:
```
BOOL NodeDragStarted( IUnknown * Node );
Возвращаемое значение:
TRUE    - разрешить перемещение.
Выходные параметры:
Node    - указатель на интерфейс узла IPropertyTreeNode.
```
Примечание:
Для использования перемещения в дереве требуется установить свойство IPropertyTree::EnableDrag.
В событии также требуется разрешить перемещение узла, установив свойство IPropertyTreeNode::DragPermitted равным true.
В событии нужно учитывать, что перетаскиваться могут несколько селектированных в данный момент узлов. В зависимости от этого библиотека может запрещать или разрешать перемещение.


## SelectNodes - Селектирование узлов дерева

Синтаксис Automation:
```
BOOL SelectNodes( VARIANT Nodes );
```
Синтаксис COM:
```
HRESULT SelectNodes( VARIANT Nodes, BOOL * Result );
Возвращаемое значение:
- не используется.
Выходные параметры:
Nodes    - список селектированных узлов IPropertyTreeNode.
```


## UnselectNodes - Снятие селектирование с узлов дерева

Синтаксис Automation:
```
BOOL UnselectNodes( VARIANT Nodes );
```
Синтаксис COM:
```
HRESULT UnselectNodes( VARIANT Nodes, BOOL * Result );
Возвращаемое значение:
- не используется.
Выходные параметры:
Nodes    - список расселектированных узлов IPropertyTreeNode.
```
