--- title: "Интерфейс ksDrawingObjectNotify/IDrawingObjectNotify" type: interface api: [api7] domain: [drawing] tags: [interface, api7, drawing, ksdrawingobjectnotify] sources: - ksdrawingobjectnotify.html --- *API интерфейсов. Версия 7 > Интерфейсы событий * ## Интерфейс ksDrawingObjectNotify/IDrawingObjectNotify | ksDrawingObjectNotify | - интерфейс Automation | | --- | --- | Интерфейс событий для графического объекта. Позволяет контролировать состояние объектов графического документа. В Automation источником событий для подписки на данный интерфейс являются объекты IDrawingObject - базового интерфейса для графических объектов (события генерируются только для этого объекта) или коллекции объектов 2D IDrawingObjects (события генерируются для всех объектов данной коллекции). Для получения указателей на документ и объект можно использовать свойство IKompasAPIObject::Reference. В API5 аналогом является интерфейс событий объектов графических документов ksObject2DNotify, поэтому перечисления событий совпадают с перечислением событий для объектов графических документов KsObject2DNotifyEnum. В процессе обработки события можно получить дополнительную информацию о редактировании объекта при помощи интерфейса ksObject2DNotifyResult, который можно получить при помощи метода IKompasDocument2D::GetDrawingObjectNotifyResult. ## BeginCopy - Начало копирования объекта Интерфейс.. Синтаксис Automation: ``` BOOL BeginCopy ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: TRUE - копировать объект, FALSE - запрещает копирование объекта. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. ## BeginDelete - Начало удаления объекта Интерфейс.. Синтаксис Automation: ``` BOOL BeginDelete ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: TRUE - удалить объект, FALSE - запрещает удаление объекта. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. 3. Для обеспечения корректной обработки события удаления вида, нужно учитывать следующее: •при удалении системного вида собственно сам системный вид не удаляется: удаляются только все объекты в нем; •номер 0 может иметь служебный вид, создаваемый КОМПАС для режима визуального редактирования макроэлементов, это можно проверить по свойству IView1::EditMacroVisibleRegime. ## BeginDestroyObject - Начало разрушения объекта Интерфейс.. Синтаксис Automation: ``` VARIANT_BOOL BeginDestroyObject(VARIANT Objects ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: TRUE - разрушить объект, FALSE - запрещает разрушение объекта. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects ## BeginMove - Начало сдвига объекта Интерфейс.. Синтаксис Automation: ``` BOOL BeginMove ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: TRUE - сдвинуть объект, FALSE - запрещает сдвиг объекта. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. ## BeginProcess - Начало редактирования\создания объекта Интерфейс.. Синтаксис Automation: ``` BOOL BeginProcess (long pType, IDrawingObject* iObj); Входные параметры: pType - тип объекта из перечисления DrawingObjectTypeEnum, iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: TRUE - редактировать\создать объект, FALSE - запрещает редактирование\создание объекта объекта. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects ## BeginPropertyChanged - Начало изменения свойств объекта Интерфейс.. Синтаксис: ``` BOOL BeginPropertyChanged( VARIANT Objects ); Входной параметр: Objects - указатель на объект VT_DISPATCH и/или массив объектов VT_ARRAY VT_DISPATCH. Возвращаемое значение: TRUE - Разрешить изменение свойств объекта, FALSE - Запретить изменение свойств объекта. ``` ## BeginRotate - Начало поворота объекта Интерфейс.. Синтаксис Automation: ``` BOOL BeginRotate ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: TRUE - повернуть объект, FALSE - запрещает поворот объекта. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. ## BeginScale - Начало масштабирования объекта Интерфейс.. Синтаксис Automation: ``` BOOL BeginScale ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: TRUE - масштабировать объект, FALSE - запрещает масштабирование объекта. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. ## BeginSymmetry - Начало симметрии объекта Интерфейс.. Синтаксис Automation: ``` BOOL BeginSymmetry ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: TRUE - симметрия объекта, FALSE - запрещает симметрию объекта. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects ## BeginTransform - Начало трансформации объекта Интерфейс.. Синтаксис Automation: ``` BOOL BeginTransform ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: TRUE - трансформировать объект, FALSE - запрещает трансформацию объекта. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects ## ChangeActive - Переключена активность объекта (вид, слой) Синтаксис Automation: ``` BOOL ChangeActive ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. ## Copy - Объект скопирован Интерфейс.. Синтаксис Automation: ``` BOOL Copy ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. ## CreateObject - Создание объекта Синтаксис Automation: ``` BOOL CreateObject ( VARIANT Obj ); iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. ## Delete - Объект удален Интерфейс.. Синтаксис Automation: ``` BOOL Delete ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. 3. Для обеспечения корректной обработки события удаления вида, нужно учитывать следующее: •при удалении системного вида собственно сам системный вид не удаляется: удаляются только все объекты в нем; •номер 0 может иметь служебный вид, создаваемый КОМПАС для режима визуального редактирования макроэлементов, это можно проверить по свойству IView1::EditMacroVisibleRegime. ## DestroyObject - Разрушение объекта Интерфейс.. Синтаксис Automation: ``` VARIANT_BOOL DestroyObject(VARIANT Objects); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects ## EndProcess - Конец редактирования\создания объекта Синтаксис Automation: ``` BOOL EndProcess ( long pType ); pType - тип объекта из перечисления DrawingObjectTypeEnum. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. ## Move - Объект сдвинут Интерфейс.. Синтаксис Automation: ``` BOOL Move ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. ## PropertyChanged - Изменения свойств объекта Интерфейс.. Синтаксис: ``` BOOL PropertyChanged( VARIANT Objects ); Входной параметр: Objects - указатель на объект VT_DISPATCH и/или массив объектов VT_ARRAY VT_DISPATCH. Возвращаемое значение: - Не используется. ``` ## Rotate - Объект повернут Интерфейс.. Синтаксис Automation: ``` BOOL Rotate ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects ## Scale - Завершение масштабирования объекта Интерфейс.. Синтаксис Automation: ``` BOOL Scale ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH если событие генерируется для одного объекта, - массив SafeArray объектов если событие генерируется для более чем одного объекта. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. ## Symmetry - Симметрия объекта Интерфейс.. Синтаксис Automation: ``` BOOL Symmetry ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects/ ## Transform - Объект трансформирован Интерфейс.. Синтаксис Automation: ``` BOOL Transform ( VARIANT Obj ); Входные параметры: iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects. ## UpdateObject - Редактирование объекта Интерфейс.. Синтаксис Automation: ``` BOOL EndProcess ( VARIANT Obj ); iObj - VARIANT с типом VT_DISPATCH, если событие генерируется для одного объекта, - массив SafeArray объектов, если событие генерируется для более чем одного объекта. Возвращаемое значение: - Не используется. ``` Примечание: 1. Индекс метода задан в перечислении событий объектов графических документов ksObject2DNotifyEnum. 2. Контейнером событий ksDrawingObjectNotify может использоваться объект графического документа IDrawingObject и коллекция объектов IDrawingObjects.