Files
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

3.8 KiB

title, type, api, tags, sources
title type api tags sources
CommandWindow - Запрос к системе на создание окна с деревом команд guide
api7
guide
api7
commandwindow
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 */