Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ksrequestinfo.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

23 KiB
Raw Blame History

title, type, api, domain, tags, sources
title type api domain tags sources
Запрос к системе (Интерфейс ksRequestInfo) interface
api7
2d
interface
api7
2d
ksrequestinfo
ksrequestinfo.html

*API интерфейсов. Версия 5 > Графический документ (Интерфейсы - ksDocument2D и IDocument2D)  > Интерфейсы видов, слоев, запроса к системе *

Запрос к системе (Интерфейс ksRequestInfo)

Интерфейс параметров запроса к системе. Аналог данных параметров при использовании API экспортных функций - RequestInfo. Примечания:

  1. Данный интерфейс позволяет установить параметры процесcов: ksDocument2D::ksCursor; ksDocument2D::ksPlacement; ksDocument2D::ksCommandWindow.
  2. Методами данного интерфейса можно получить/изменить: •строку или идентификатор строки приглашения, •строку или идентификатор строки заголовка окна, •строку меню или идентификатор меню состава команд, •строку с именем стандартного курсора или идентификатор курсора, •признак динамического запроса, •идентификатор приложения (dll), в котором размещены ресурсы процесса, •функцию обратной связи процесса.
  3. Указатель на интерфейс можно получить при помощи метода KompasObject::GetParamStruct.
  4. В случае динамического запроса функция обратной связи вызывается по перемещению курсора. В случае статического запроса функция обратной связи вызывается по щелчку мыши. Смотрите также: KompasObject

commandsString - Cтрока меню состава команд

Тип данных:строка. Синтаксис Automation:

commandsString = iRequestInfo.commandsString    Получить свойство(* )
iRequestInfo.commandsString = commandsString    Установить свойство (* )
commandsString = iRequestInfo.GetCommandsString()    Получить свойство (**)
iRequestInfo.SetCommandsString (commandsString)    Установить свойство (**)

Примечание: Это свойство позволяет сформировать одноуровневое меню (без вложенных пунктов). Восклицательный знак разделяет пункты меню, например, "!Квадрат !Треугольник !Ромб".

commInstance - Идентификатор приложения (dll), в котором размещены ресурсы процесса

Тип данных:long. Синтаксис Automation:

commInstance = iRequestInfo.commInstance    Получить свойство(* )
iRequestInfo.commInstance = commInstance    Установить свойство (* )
commInstance = iRequestInfo.GetCommInstance()    Получить свойство (**)
iRequestInfo.SetCommInstance (commInstance)    Установить свойство (**)

Примечание: Функция устарела. Использование данной функции может привести к ошибке в библиотеке, собранной с конфигурацией x64. Рекомендуется использовать функцию ksRequestInfo::commInstanceEx.

commInstanceEx - Идентификатор приложения (dll), в котором размещены ресурсы процесса

Тип данных: VARIANT. Синтаксис Automation:

commInstance = Object.commInstanceEx    Получить свойство(* )
Object.commInstanceEx = commInstance    Установить свойство (* )
commInstance = Object.GetCommInstanceEx()    Получить свойство (**)
Object.SetCommInstanceEx( commInstance )    Установить свойство (**)

Примечание: HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64. Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR). В библиотеках, использующих автоматизацию, рекомендуется использовать данное свойство вместо ksRequestInfo::commInstance.

cursor - Cтрока с именем стандартного курсора

cursor_select

cursor_snap

POINT_NONUM

cursor_catch

Тип данных:строка. Синтаксис Automation:

cursor = iRequestInfo.cursor    Получить свойство(* )
iRequestInfo.cursor = cursor    Установить свойство (* )
cursor = iRequestInfo.GetCursor()    Получить свойство (**)
iRequestInfo.SetCursor (cursor)    Установить свойство (**)

Примечание: Кроме стандартных констант из WINUSER.H можно использовать стандартные курсоры системы КОМПАС (ldefin2d.h): OCR_SELECT OCR_SNAP OCR_DEFAULT OCR_CATCH

cursorId - Идентификатор курсора из ресурса

cursor_select

cursor_snap

POINT_NONUM

cursor_catch

Тип данных:long. Синтаксис Automation:

cursorId = iRequestInfo.cursorId    Получить свойство(* )
iRequestInfo.cursorId = cursorId    Установить свойство (* )
cursorId = iRequestInfo.GetCursorId()    Получить свойство (**)
iRequestInfo.SetCursorId (cursorId)    Установить свойство (**)

Примечание: Кроме стандартных констант из WINUSER.H можно использовать стандартные курсоры системы КОМПАС (ldefin2d.h): OCR_SELECT OCR_SNAP OCR_DEFAULT OCR_CATCH

dynamic - Признак динамического запроса

Тип данных:long. Значения признака:

0 - статический запрос,
1 - динамический запрос.
Синтаксис Automation:
dynamic = iRequestInfo.dynamic    Получить свойство(* )
iRequestInfo.dynamic = dynamic    Установить свойство (* )
dynamic = iRequestInfo.GetDynamic()    Получить свойство (**)
iRequestInfo.SetDynamic (dynamic)    Установить свойство (**)

Примечание: В случае динамического запроса функция обратной связи вызывается по перемещению курсора. В случае статического запроса функция обратной связи вызывается по щелчку мыши.

GetCallBackC - Получить имя функции обратной связи для процесса Cursor

Синтаксис Automation:

BSTR GetCallBackC();
Возвращаемое значение:
- строка с именем функции обратной связи.

GetCallBackCm - Получить имя функции обратной связи для процесса CommandWindow

Синтаксис Automation:

BSTR GetCallBackCm();
Возвращаемое значение:
- строка с именем функции обратной связи.

GetCallBackP - Получить имя функции обратной связи для процесса Placement

Синтаксис Automation:

BSTR GetCallBackP();
Возвращаемое значение:
- строка с именем функции обратной связи.

GetTakeObjectCallBack - Получить имя (в Automation) или адрес (в COM) функции обратной связи подчиненного процесса

Синтаксис Automation:

BSTR GetTakeObjectCallBack();
Возвращаемое значение:
- имя функции.

Синтаксис COM:

USERTAKEOBJECTCALLBACKPROC GetTakeObjectCallBack();
Возвращаемое значение:
- адрес функции.

Init - Инициализировать параметры

Синтаксис Automation:

BOOL Init();
Возвращаемое значение:
TRUE    - в случае удачного завершения.

Примечание: Метод обнуляет все параметры запроса к системе.

menuId - Идентификатор меню состава команд из ресурса

Тип данных:long. Синтаксис Automation:

menuId = iRequestInfo.menuId    Получить свойство(* )
iRequestInfo.menuId = menuId    Установить свойство (* )
menuId = iRequestInfo.GetMenuId()    Получить свойство (**)
iRequestInfo.SetMenuId (menuId)    Установить свойство (**)

prompt - Cтрока приглашения

Тип данных:строка. Синтаксис Automation:

prompt = iRequestInfo.prompt    Получить свойство(* )
iRequestInfo.prompt = prompt    Установить свойство (* )
prompt = iRequestInfo.GetPrompt()    Получить свойство (**)
iRequestInfo.SetPrompt (prompt)    Установить свойство (**)

promptId - Идентификатор приглашения из ресурса

Тип данных:long. Синтаксис Automation:

promptId = iRequestInfo.promptId    Получить свойство(* )
iRequestInfo.promptId = promptId    Установить свойство (* )
promptId = iRequestInfo.GetPromptId()    Получить свойство (**)
iRequestInfo.SetPromptId (promptId)    Установить свойство (**)

SetCallBackC - Установить имя функции обратной связи для процесса Cursor

Синтаксис Automation:

BOOL SetCallBackC (LPCTSTR methodName,
long hInst,
LPDISPATCH dispatchOCX);
Входные параметры:
methodName    - строка с именем функции обратной связи,
hInst    - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX    - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE    - в случае удачного завершения.

Примечания:

  1. Если разрабатываемое приложение dll, тогда заполняется параметр hInst, а dispatchOCX = NULL.
  2. Если разрабатываемое приложение ActiceX DLL, тогда заполняется параметр dispatchOCX, а hInst = 0.
  3. Функция устарела. Использование данной функции может привести к ошибке в библиотеке, собранной с конфигурацией x64. Рекомендуется использовать функцию ksRequestInfo::SetCallBackCEx.

SetCallBackCEx - Установить имя функции обратной связи для процесса Cursor

Синтаксис Automation:

BOOL SetCallBackCEx(LPCTSTR methodName, VARIANT hInst, LPDISPATCH dispatchOCX);
Входные параметры:
methodName    - строка с именем функции обратной связи,
hInst    - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX    - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.

Примечания: HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64. Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR). В библиотеках, использующих автоматизацию, рекомендуется использовать данную функцию вместо ksRequestInfo::SetCallBackC.

SetCallBackCm - Установить имя функции обратной связи для процесса CommandWindow

Синтаксис Automation:

BOOL SetCallBackCm (LPCTSTR methodName,
long hInst,
LPDISPATCH dispatchOCX);
Входные параметры:
methodName    - строка с именем функции обратной связи,
hInst    идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX    указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE    - в случае удачного завершения.

Примечания:

  1. Если разрабатываемое приложение dll, тогда заполняется параметр hInst, а dispatchOCX = NULL.
  2. Если разрабатываемое приложение ActiceX DLL, тогда заполняется параметр dispatchOCX, а hInst = 0.
  3. Функция устарела. Использование данной функции может привести к ошибке в библиотеке, собранной с конфигурацией x64. Рекомендуется использовать функцию ksRequestInfo::SetCallBackCmEx.

SetCallBackCmEx - Установить имя функции обратной связи для процесса CommandWindow

Синтаксис Automation:

BOOL SetCallBackCmEx(LPCTSTR methodName, VARIANT hInst, LPDISPATCH dispatchOCX);
Входные параметры:
methodName    - строка с именем функции обратной связи,
hInst    - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX    - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.

Примечания: HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64. Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR). В библиотеках, использующих автоматизацию, рекомендуется использовать данную функцию вместо ksRequestInfo::SetCallBackCm.

SetCallBackP - Установить имя функции обратной связи для процесса Placement

Синтаксис Automation:

BOOL SetCallBackP (LPCTSTR methodName,
long hInst,
LPDISPATCH dispatchOCX);
Входные параметры:
methodName    - строка с именем функции обратной связи,
hInst    - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX    - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE    - в случае удачного завершения.

Примечания:

  1. Если разрабатываемое приложение dll, тогда заполняется параметр hInst, а dispatchOCX = NULL.
  2. Если разрабатываемое приложение ActiceX DLL, тогда заполняется параметр dispatchOCX, а hInst = 0.
  3. Функция устарела. Использование данной функции может привести к ошибке в библиотеке, собранной с конфигурацией x64. Рекомендуется использовать функцию ksRequestInfo::SetCallBackPEx.

SetCallBackPEx - Установить имя функции обратной связи для процесса Placement

Синтаксис Automation:

BOOL SetCallBackPEx(LPCTSTR methodName, VARIANT hInst, LPDISPATCH dispatchOCX);
Входные параметры:
methodName    - строка с именем функции обратной связи,
hInst    - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX    - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.

Примечания: HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64. Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR). В библиотеках, использующих автоматизацию, рекомендуется использовать данную функцию вместо ksRequestInfo::SetCallBackP.

SetCursorText - Установить текст курсора

Синтаксис Automation:

BOOL SetCursorText( BSTR Text );

Примечание Функция работает при запущенном процессе. Текст сразу выдается над курсором.

SetTakeObjectCallBack - Установить функцию обратной связи для подчиненного процесса

Синтаксис Automation:

BOOL SetTakeObjectCallBack(LPCTSTR methodName, VARIANT hInst, LPDISPATCH dispatchOCX);
Входные параметры:
methodName    - строка с именем функции обратной связи,
hInst    - идентификатор приложения (dll), в котором реализована CallBack-функция,
dispatchOCX    - указатель на интерфейc IDispatch, в котором реализована CallBack-функция.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Прототип CallBack-функции:
Синтаксис Automation (пример для Visual C):
BOOL WINAPI TakeObjectCallBack(LPDISPATCH _object);
Входной параметр:
_object    - указатель на интерфейс объекта ksEntity для подпроцессов создания объектов, - указатель на интерфейс сопряжения ksMateConstraint для подпроцессов создания сопряжений.

Синтаксис COM:

BOOL SetTakeProcessObject (USERTAKEOBJECTCALLBACKPROC callBack);
Входной параметр:
callBack    - адрес функции.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.

Примечание: Тип функции обратной связи для подчиненного процесса typedef BOOL (__stdcall * USERTAKEOBJECTCALLBACKPROC)(LPUNKNOWN); Прототип CallBack-функции: Синтаксис COM:

BOOL __stdcall SelectFilterProc (LPUNKNOWN _object );
Входной параметр:
_object    - указатель на интерфейс объекта ksEntity для подпроцессов создания объектов, - указатель на интерфейс сопряжения ksMateConstraint для подпроцессов создания сопряжений.

Примечание: Функция вызывается при завершении подпроцесса создания\редактирования подчиненного объекта HINSTANCE библиотеки нужно передать через VARIANT, как VT_I4 в Win32 и VT_I8 в x64. Для правильного формирования _variant_t HINSTANCE нужно передавать через приведение к (LONG_PTR).

TakeProcessObject - Объект, редактируемый в подпроцессе

Тип данных: Указатель на интерфейс IUnknown (в COM) или IDispatch ( в Automation ) Синтаксис Automation:

TakeProcessObject = Object.GetTakeProcessObject( )    Получить свойство (* )
Object.SetTakeProcessObject( Index, TakeProcessObject )    Установить свойство (**)

title - Cтрока заголовка окна

Тип данных:строка. Синтаксис Automation:

title = iRequestInfo.title    Получить свойство(* )
iRequestInfo.title = title    Установить свойство (* )
title = iRequestInfo.GetTitle()    Получить свойство (**)
iRequestInfo.SetTitle (title)    Установить свойство (**)

titleId - Идентификатор строки заголовка окна из ресурса

Тип данных:long. Синтаксис Automation:

titleId = iRequestInfo.titleId    Получить свойство(* )
iRequestInfo.titleId = titleId    Установить свойство (* )
titleId = iRequestInfo.GetTitleId()    Получить свойство (**)
iRequestInfo.SetTitleId (titleId)    Установить свойство (**)