e1337e4016
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается. - .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным (safety-net на случай повторной локальной выгрузки). - CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
328 lines
13 KiB
Markdown
328 lines
13 KiB
Markdown
---
|
||
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
|
||
```
|