--- 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. ```