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>
52 lines
3.8 KiB
Markdown
52 lines
3.8 KiB
Markdown
---
|
|
title: "CommandWindow - Запрос к системе на создание окна с деревом команд"
|
|
type: guide
|
|
api: [api7]
|
|
tags: [guide, api7, commandwindow]
|
|
sources:
|
|
- commandwindow.html
|
|
---
|
|
|
|
*API экспортных функций > Функции работы с прикладной библиотекой > Функции работы с меню *
|
|
|
|
|
|
## CommandWindow - Запрос к системе на создание окна с деревом команд
|
|
|
|
Пример...
|
|
Аналог данной функции при использовании Automation - метод ksDocument2D::ksCommandWindow.
|
|
Синтаксис:
|
|
```
|
|
int CommandWindow(RequestInfo *info);
|
|
Входные параметры:
|
|
Info - указатель на структуру параметров запроса к системе RequestInfo,
|
|
Возвращаемое значение:
|
|
- идентификатор выбранной команды, определенный в файле ресурсов, - порядковый номер в строке команд. - в случае успешного завершения,
|
|
-1 - если команда не выбрана.
|
|
Описание.
|
|
Функция создает окно с деревом команд, определяемых строкой команд в структуре info или идентификатором меню из файла ресурсов. Команды в строке разделены пробелом или восклицательным знаком. Функции обратной связи управление передается после выбора команды или отказа.
|
|
В качестве функции обратной связи передается указатель на функцию типа CommandWindowCallBack. Если в качестве функции обратной связи задан NULL, то управление из CommandWindow возвращается немедленно, как только пользователь выберет команду в дереве команд. При этом возвращается идентификатор выбранной команды. В противном случае управление вернется, если пользователь закроет окно или функция обратной связи вернет FALSE. При этом возвращается -1.
|
|
Если в качестве commands задана строка в формате Компас 4.X, например "!Команда_1 !Команда_2 ...", то идентификатором команды является ее позиция в строке (начиная с 1), то есть идентификатором команды "Команда_1" является 1. Если в качестве commands задан идентификатор меню, то идентификатором команды является идентификатор соответствующего пункта меню.
|
|
Функция возвращает идентификатор выбранной команды, определенный в файле ресурсов, или порядковый номер в строке команд.
|
|
Примечание.
|
|
При использовании Unicode следует использовать функцию CommandWindowW.
|
|
```
|
|
|
|
|
|
## CommandWindow - пример использования
|
|
|
|
void CommandWindow_Example (void) {
|
|
RequestInfo info;
|
|
memset(&info, 0, sizeof(info));
|
|
info.commands = "!Окружность !Отрезок ";
|
|
info.commands = Объекты
|
|
int j=CommandWindow(&info);
|
|
switch (j) {
|
|
case 1:
|
|
Circle(10,10,10,1);
|
|
break;
|
|
case 2:
|
|
LineSeg(10,10, 20, 10, 1);
|
|
break;
|
|
}
|
|
}; /* CommandWindow_Example */
|