---
title: "Интерфейс ksDocumentFrameNotify/IDocumentFrameNotify"
type: interface
api: [api7]
tags: [interface, api7, ksdocumentframenotify]
sources:
  - ksdocumentframenotify.html
---

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


## Интерфейс ksDocumentFrameNotify/IDocumentFrameNotify

| ksDocumentFrameNotify | - интерфейс Automation, |
| --- | --- |
| IdocumentFrameNotify | - интерфейс COM |
Интерфейс событий для окна документа (клавиатура, мышь, события по отрисовке документа)
Позволяют контролировать состояние окна документа.
Источником событий для подписки на данный интерфейс является объект IDocumentFrame - интерфейс окна документа.
В COM источником для подписки является указатель на документ. Дополнительный параметр при подписке задает интерфейс окна IDocumentFrame, для которого предназначен данный интерфейс событий.
ksDocumentFrameNotify, IDocumentFrameNotify - события


## Activate - Активизация окна

BOOL Activate();
Синтаксис COM:
```
BOOL Activate();
Возвращаемое значение:
- Не используется.
```
Примечание:
Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.


## AddGabarit - Рассчитывается общий габарит окна

Синтаксис Automation:
```
BOOL AddGabarit (IGabaritObject * gabObj);
```
Синтаксис COM:
```
BOOL AddGabarit (IUnknown* gabObj);
Входные параметры:
gabObj    - указатель на интерфейс IGabaritObject вспомогательных данных для изменения габарита документа.
Возвращаемое значение:
- Не используется.
```
Примечание:
1. Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.
2. Если на данное событие подписалось несколько библиотек, то заданные ими прямоугольники суммируются.


## BeginPaint - Начало отрисовки документа

Синтаксис Automation:
```
BOOL BeginPaint (IPaintObject* paintObj);
```
Синтаксис COM:
```
BOOL BeginPaint (IUnknown* paintObj);
Входные параметры:
paintObj    - указатель на интерфейс IPaintObject вспомогательных данных для отрисовки документа.
Возвращаемое значение:
FALSE    - запретить отрисовку документа.
```
Примечание:
1. Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.
2. Если событие вернет значение FALSE, то КОМПАС-3D не будет отрисовывать документ; библиотека в этом случае должна сама выполнить всю отрисовку, событие ClosePaint посылаться не будет.


## BeginPaintGL - Начало создания листа в контексте OpenGL

Синтаксис Automation:
```
BOOL BeginCreateGLList (ksGLObject* glObj, long drawMode);
```
Синтаксис COM:
```
BOOL BeginCreateGLList (long drawMode);
Входные параметры:
glObj    - указатель на интерфейс ksGLObject вспомогательных данных для создания листа в контексте OpenGL; используется при работе под управлением внешнего контроллера,
drawMode    - режим отображения документа-модели KDocument3DDrawMode.
Возвращаемое значение:
TRUE    - модель продолжает отрисовываться,
FALSE    - запретить перерисовывать модель.
```
Примечание:
Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.


## BeginPaintTmpObjects - Начало отрисовки временных объектов(фантомов)

Синтаксис Automation:
```
BOOL BeginPaintTmpObjects();
```
Синтаксис COM:
```
BOOL BeginPaintTmpObjects();
Возвращаемое значение:
FALSE    - запретить отрисовку временных объектов.
```
Примечание:
Событие можно получить в 2D документе и использовать для самостоятельной отрисовки временных объектов функциями OpenGL


## CloseFrame - Закрытие окна

Синтаксис Automation:
```
BOOL CloseFrame();
```
Синтаксис COM:
```
BOOL CloseFrame();
Возвращаемое значение:
- Не используется.
```
Примечание:
Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.


## ClosePaint - Конец отрисовки документа

Синтаксис Automation:
```
BOOL ClosePaint (IPaintObject* paintObj);
```
Синтаксис COM:
```
BOOL ClosePaint (IUnknown* paintObj);
Входные параметры:
paintObj    - указатель на интерфейс IPaintObject вспомогательных данных для отрисовки документа.
Возвращаемое значение:
- Не используется.
```
Примечание:
Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.


## ClosePaintGL - Окончание создания листа в контексте OpenGL

Синтаксис Automation:
```
BOOL CloseCreateGLList (ksGLObject* glObj, long drawMode);
```
Синтаксис COM:
```
BOOL CloseCreateGLList (long drawMode);
Входные параметры:
glObj    - указатель на интерфейс ksGLObject вспомогательных данных для создания листа в контексте OpenGL; используется при работе под управлением внешнего контроллера,
drawMode    - режим отображения документа-модели KDocument3DDrawMode.
Возвращаемое значение:
- Не используется.
```
Примечание:
Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.


## ClosePaintTmpObjects - Конец отрисовки временных объектов(фантомов)

Синтаксис Automation:
```
BOOL ClosePaintTmpObjects();
```
Синтаксис COM:
```
BOOL ClosePaintTmpObjects();
Возвращаемое значение:
- не используется.
```
Примечание:
Событие можно получить в 2D документе и использовать для дорисовки временных объектов функциями OpenGL


## Deactivate - Деактивация окна

Синтаксис Automation:
```
BOOL Deactivate();
```
Синтаксис COM:
```
BOOL Deactivate();
Возвращаемое значение:
- Не используется.
```
Примечание:
Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.


## MouseDblClick - Двойной щелчок кнопкой мыши

Синтаксис Automation:
```
BOOL MouseDblClick (short nButton, short nShiftState, long x, long y);
```
Синтаксис COM:
```
BOOL MouseDblClick (short nButton, short nShiftState, long x, long y);
Входные параметры:
nButton    - тип кнопки (LEFT_BUTTON, RIGHT_BUTTON или MIDDLE_BUTTON),
nShiftState    - комбинация нажатых системных кнопок клавиатуры (SHIFT_MASK, CTRL_MASK, ALT_MASK),
х,у    - координаты в экранных пикселах.
Возвращаемое значение:
- Не используется.
```
Примечание:
Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.
Значения системных кнопок, допустимых в комбинации параметра nShiftState:
| SHIFT_MASK | 0x01 |
| --- | --- |
| CTRL_MASK | 0x02 |
| ALT_MASK | 0x04 |
Значения типов кнопок мыши для параметра nButton:
| LEFT_BUTTON | 0x01 |
| --- | --- |
| RIGHT_BUTTON | 0x02 |
| MIDDLE_BUTTON | 0x04 |


## MouseDown - Нажатие кнопки мыши

Синтаксис Automation:
```
BOOL MouseDown (short nButton, short nShiftState, long x, long y);
```
Синтаксис COM:
```
BOOL MouseDown (short nButton, short nShiftState, long x, long y);
Входные параметры:
nButton    - тип кнопки (LEFT_BUTTON, RIGHT_BUTTON или MIDDLE_BUTTON),
nShiftState    - комбинация нажатых системных кнопок клавиатуры (SHIFT_MASK, CTRL_MASK, ALT_MASK),
х,у    - координаты в экранных пикселах.
Возвращаемое значение:
- Не используется.
```
Примечание:
Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.
Значения системных кнопок, допустимых в комбинации параметра nShiftState:
| SHIFT_MASK | 0x01 |
| --- | --- |
| CTRL_MASK | 0x02 |
| ALT_MASK | 0x04 |
Значения типов кнопок мыши для параметра nButton:
| LEFT_BUTTON | 0x01 |
| --- | --- |
| RIGHT_BUTTON | 0x02 |
| MIDDLE_BUTTON | 0x04 |


## MouseMove - Перемещение мыши

Синтаксис Automation:
```
BOOL MouseDown (short nShiftState, long x, long y);
```
Синтаксис COM:
```
BOOL MouseMove (short nShiftState, long x, long y);
Входные параметры:
nShiftState    - комбинация нажатых системных клавиш (SHIFT_MASK, CTRL_MASK, ALT_MASK),
х,у    - координаты в экранных пикселах.
Возвращаемое значение:
- Не используется.
```
Примечание:
1. Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.
2. Значения системных кнопок допустимых в комбинации параметра nShiftState:
| SHIFT_MASK | 0x01 |
| --- | --- |
| CTRL_MASK | 0x02 |
| ALT_MASK | 0x04 |


## MouseUp - Отпускание кнопки мыши

Синтаксис Automation:
```
BOOL MouseUp (short nButton, short nShiftState, long x, long y);
```
Синтаксис COM:
```
BOOL MouseUp (short nButton, short nShiftState, long x, long y);
Входные параметры:
nButton    - тип кнопки (LEFT_BUTTON, RIGHT_BUTTON или MIDDLE_BUTTON),
nShiftState    - комбинация нажатых системных кнопок клавиатуры (SHIFT_MASK, CTRL_MASK, ALT_MASK),
х,у    - координаты в экранных пикселах.
Возвращаемое значение:
- Не используется.
```
Примечание:
Индекс события задан в перечислении событий окна документа ksDocumentFrameNotifyEnum.
Значения системных кнопок, допустимых в комбинации параметра nShiftState:
| SHIFT_MASK | 0x01 |
| --- | --- |
| CTRL_MASK | 0x02 |
| ALT_MASK | 0x04 |
Значения типов кнопок мыши для параметра nButton:
| LEFT_BUTTON | 0x01 |
| --- | --- |
| RIGHT_BUTTON | 0x02 |
| MIDDLE_BUTTON | 0x04 |


## MouseWheel - Вращение колеса мыши

Синтаксис Automation:
```
BOOL MouseWheel( short NShiftState, short ZDelta, long X, long Y );
```
Синтаксис COM:
```
HRESULT MouseWheel( short NShiftState, short ZDelta, long X, long Y, BOOL * Result );
Входные параметры:
NShiftState    - комбинация нажатых системных кнопок клавиатуры (SHIFT_MASK, CTRL_MASK, ALT_MASK)),
ZDelta    - приращение,
X, Y    - координаты в экранных пикселах.
Возвращаемое значение:
- Не используется.
КOMPAS v24
```
