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>
15 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Интерфейс событий приложения ksKompasObjectNotify/IKompasObjectNotify | interface |
|
|
|
*API интерфейсов. Версия 5 > Интерфейсы событий API5 > События в КОМПАС Общие сведения *
Интерфейс событий приложения ksKompasObjectNotify/IKompasObjectNotify
| ksKompasObjectNotify | - интерфейс Automation |
|---|---|
| IKompasObjectNotify | - интерфейс COM |
| Позволяют контролировать состояние приложения. | |
| В Automation источником событий для подписки являются: | |
| •для API интерфейсов версии 5 - объект KompasObject. | |
| •для API интерфейсов версии 7 - объект IApplication. | |
| В СOM источника нет. | |
| ksKompasObjectNotify, IKompasObjectNotify - события | |
| ksKompasObjectNotify/ IKompasObjectNotify - методы |
ApplicationDestroy - Закрытие приложения
Синтаксис Automation:
BOOL ApplicationDestroy();
Возвращаемое значение:
- Не используется.
Синтаксис COM:
BOOL ApplicationDestroy();
Возвращаемое значение:
- Не используется.
Примечание:
- Источником события является интерфейс KompasObject.
- Индекс события задан в перечислении событий приложения....
- При обработке данного события необходимо отписаться от всех событий. Библиотека должна сама следить за отпиской событий.
BeginCloseAllDocument - Начало закрытия всех открытых документов
Синтаксис Automation:
BOOL BeginCloseAllDocument();
Синтаксис COM:
BOOL BeginCloseAllDocument();
Возвращаемое значение:
TRUE - закрытие всех открытых документов,
FALSE - закрытие всех открытых документов запрещено.
Примечание: Индекс события задан в перечислении событий приложения....
BeginCreate - Начало создания документа (до диалога выбора типа)
Синтаксис Automation:
BOOL BeginCreate (long docType);
Синтаксис COM:
BOOL BeginCreate (long docType);
Входные параметры:
docName - тип документа,
0 - если пользователь запросил диалог создания документа.
Возвращаемое значение:
TRUE - создать документ,
FALSE - создание документа запрещено.
Примечание: Источником события является интерфейс KompasObject.
BeginOpenDocument - Начало открытия документа
Синтаксис Automation:
BOOL BeginOpenDocument (BSTR docName);
Входные параметры:
docName - имя файла документа.
Возвращаемое значение:
TRUE - открыть документ,
FALSE - не открывать документ.
Синтаксис COM:
BOOL BeginOpenDocument (char * docName);
Входные параметры:
docName - имя файла документа.
Возвращаемое значение:
TRUE - открыть документ,
FALSE - не открывать документ.
Примечание:
- Источником события является интерфейс KompasObject.
- Индекс события задан в перечислении событий приложения....
BeginOpenFile - Начало открытия документа (до диалога выбора имени)
Синтаксис Automation:
BOOL BeginOpenFile();
Синтаксис COM:
BOOL BeginOpenFile();
Возвращаемое значение:
TRUE - вызвать диалог открытия документа,
FALSE - вызов диалога открытия документа запрещен.
Примечание: Индекс события задан в перечислении событий приложения....
BeginRequestFiles - Запрос имен файлов
Синтаксис Automation:
BOOL BeginRequestFiles( long requestID, VARIANT * files );
Синтаксис COM:
BOOL BeginRequestFiles( long requestID, VARIANT * files );
Входные параметры:
requestID - тип запроса файлов из перечисления ksRequestFilesTypeEnum.
Выходные параметры:
files - имя файла или список SafeArray файлов.
Возвращаемое значение:
TRUE - использовать стандартный диалог выбора файлов,
FALSE - если список файлов задан - использовать файл или файлы из списка, если список файлов не задан - отмена выбора файлов.
Примечание:
- Если выбран один файл, то в VARIANT его имя можно положить как строку, тип VARIANT-а - VT_BSTR. Если выбрано несколько файлов, то их имена в VARIANT нужно положить как массив строк тип VARIANT-а - VT_ARRAY | VT_BSTR.
- Возможность множественного выбора и допустимые расширения файлов зависят от типа запроса файлов.
- В данных событиях в отличие от других событий начала какого либо действия требуется обработка трех состояний: •отказ пользователя или обработка события выполнена полностью на стороне библиотеки - событие возвращает FALSE; •событие возвращает TRUE и имя файла для продолжения выполнения команды - процесс продолжается без запуска диалога выбора файла или файлов; •событие возвращает TRUE, но имя файла не возвращается - запускается стандартный диалог выбора файла из системы КОМПАС.
ChangeActiveDocument - Переключение на другой активный документ
Синтаксис Automation:
BOOL ChangeActiveDocument (LPDISPATCH pDoc, long docType);
Входные параметры:
pDoc - указатель на интерфейс IDispatch открытого документа,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Синтаксис COM:
BOOL ChangeActiveDocument(long pDoc, int docType);
Входные параметры:
pDoc - указатель на открытый документ,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Примечание:
- Источником события является интерфейс KompasObject.
- Индекс события задан в перечислении событий приложения....
CreateDocument - Документ создан
Синтаксис Automation:
BOOL CreateDocument (LPDISPATCH pDoc, long docType);
Входные параметры:
pDoc - указатель на интерфейс IDispatch созданного документа,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Синтаксис COM:
BOOL CreateDocument (long pDoc, int docType);
Входные параметры:
pDoc - указатель на созданный документ,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Примечание:
- Источником события является интерфейс KompasObject.
- Индекс события задан в перечислении событий приложения....
IsNotIifyProcess - Ограничение обрабатываемых событий
Синтаксис Automation:
Не используется.
Синтаксис COM:
BOOL IsNotifyProcess (int notifyType);
Входной параметр:
notifyType - номер события в перечислении событий.
Возвращаемое значение:
TRUE - событие будет обрабатываться,
FALSE - событие обрабатываться не будет.
Примечание: В COM перед любым вызовом события система сделает запрос о возможности его обработки с использованием данного метода. Библиотека сама может ограничивать обрабатываемые события.
KeyDown - Клавиша нажата и удерживается нажатой
Синтаксис Automation:
BOOL KeyDown (long * key, long flags, BOOL sysKey);
Синтаксис COM:
BOOL KeyDown( long * key, long flags, BOOL sysKey);
Входные параметры:
key - код нажатой клавиши,
flags - флаг клавиатуры,
sysKey - признак нажатия системной клавиши.
Выходные параметры:
key - измененный код нажатой клавиши.
Возвращаемое значение:
TRUE - разрешить обработку нажатой клавиши,
FALSE - запретить обработку нажатой клавиши.
Примечание:
- Индекс события задан в перечислении событий приложения...
- Благодаря автоматическому повторению кода клавиши при удержании ее нажатой, до появления события wm_keyup может выдаваться несколько событий wm_keydown. Значение разряда 30 параметра flags позволяет определить, было ли событие wm_keydown первым или является повторным во время удержания клавиши нажатой.
- Если библиотека обработала событие нажатия клавиши и нужно запретить обработку события другими подписчиками, то нужно обнулить код клавиши т.е. *key = 0 и вернуть FALSE, если нужно запретить обработку события системой КОМПАС.
KeyPress - Одиночное нажатие клавиши
Синтаксис Automation:
BOOL KeyPress (long * key, BOOL sysKey);
Синтаксис COM:
BOOL KeyPress (long * key, BOOL sysKey);
Входные параметры:
key - код нажатой клавиши,
flags - флаг клавиатуры,
sysKey - признак нажатия системной клавиши.
Выходные параметры:
key - измененный код клавиши.
Возвращаемое значение:
TRUE - разрешить обработку нажатой клавиши,
FALSE - запретить обработку нажатой клавиши.
Примечание:
- Индекс события задан в перечислении событий приложения.... Если syskey = false, была нажата обычная клавиша, что соответствует событию wm_keyup, если syskey = true, была нажата системная клавиша, что соответствует событию wm_syskeyup.
- Если библиотека обработала событие нажатия клавиши и нужно запретить обработку события другими подписчиками, то нужно обнулить код клавиши т.е. *key = 0 и вернуть FALSE, если нужно запретить обработку события системой КОМПАС.
KeyUp - Клавиша отпущена
Синтаксис Automation:
BOOL KeyUp (long * key, long flags, BOOL sysKey);
Синтаксис COM:
BOOL KeyUp (long * key, long flags, BOOL sysKey);
Входные параметры:
key - код нажатой клавиши,
flags - флаг клавиатуры,
sysKey - признак нажатия системной клавиши,
Выходные параметры:
key - измененный код нажатой клавиши.
Возвращаемое значение:
TRUE - разрешить обработку нажатой клавиши,
FALSE - запретить обработку нажатой клавиши.
Примечание:
- Индекс события задан в перечислении событий приложения....
- Если syskey = false, была нажата обычная клавиша, что соответствует событию wm_keyup, если syskey = true, была нажата системная клавиша, что соответствует событию wm_syskeyup.
- Если библиотека обработала событие нажатия клавиши и нужно запретить обработку события другими подписчиками, то нужно обнулить код клавиши т.е. *key = 0 и вернуть FALSE, если нужно запретить обработку события системой КОМПАС.
OpenDocument - Документ открыт
Синтаксис Automation:
BOOL OpenDocument (LPDISPATCH pDoc, long docType);
Входные параметры:
pDoc - указатель на интерфейс IDispatch открытого документа,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Синтаксис COM:
BOOL OpenDocument(long pDoc, int docType);
Входные параметры:
pDoc - указатель на открытый документ,
docType - тип документа DocType.
Возвращаемое значение:
- Не используется.
Примечание:
- Источником события является интерфейс KompasObject.
- Индекс события задан в перечислении событий приложения....