Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ksdocumentframenotify.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
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>
2026-05-26 20:00:05 +03:00

328 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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
```