ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Стек Команды


Команды AutoCAD сохранены в группах в стеке команды, который

Определенный AcEdCommandStack классом. Один образец стека команды

Создан в сеанс AutoCAD. Этот стек состоит из заказных команд

То, что Вы определили. AcedRegCmds () макрокоманда дает Вам, обращаются к

Стек команды.

Когда Вы прибавляете команду, Вы также назначаете это название{*имя*} группы. Хорошая политика{*полис*}

Должен использовать ваш буферизованный префикс разработчика для названия{*имени*} группы, чтобы избежать названия{*имени*}

Столкновения с другими командами. Команда называет в пределах данной группы

Должен быть уникален, и названия{*имена*} группы должны быть уникальны. Однако, множественные приложения

Может прибавлять команду того же самого названия{*имени*}, потому что группа называет Делает команды однозначными.

ОБРАТИТЕ ВНИМАНИЕ, что автоплата поддерживает схему регистрации разработчика предотвратить Namespace

находится в противоречии между различными приложениями. Каждый буферизованный разработчик Выбирает одни или более буферизованные символы разработчика (RDS), чтобы использовать исключительно. Буферизованный Символы разработчика - одно из требований “ Сформированные с ObjectARX ” программа эмблемы. Для получения дополнительной информации, идите интерактивно к  http://www.veritest.com/autodesk/main(f).htm.

Вы обычно прибавляете команды по одному с AcEdCommandStack:: addCommand () функция, и Вы удаляете команды Группа с AcEdCommandStack:: removeGroup () функция. Вы можете также Используйте AcEdCommandStack:: removeCmd () функция, чтобы удалить команды По одному. Как часть его очистки перед выходом, ваше приложение нуждается к Удалите любые команды это буферизованный.

Сигнатура для addCommand () функция

Acad::ErrorStatus

addCommand(

const char* cmdGroupName,

const char* cmdGlobalName,

const char* cmdLocalName,

Adesk::Int32 commandFlags,

AcRxFunctionPtr functionAddr,

AcEdUIContext *UIContext=NULL,

int fcode=-1,

HINSTANCE hResourceHandle=NULL);


CmdGroupName

Представление ASCII группы, чтобы прибавить команду к.

Если группа не существует, это создано прежде, чем команда добавлена.

CmdGlobalName

Представление ASCII команды называет, чтобы добавиться. Это название{*имя*} представляет глобальное или неоттранслированное название{*имя*} (см. “ Глобальная переменная против Местных Названий{*имен*} Команды ” на странице 42).

CmdLocalName

Представление ASCII команды называет, чтобы добавиться. Это название{*имя*} представляет местное или оттранслированное название{*имя*}.

CommandFlags

Флажки, связанные с командой. Возможные значения - ACRX_CMD_TRANSPARENT, ACRX_CMD_MODAL, ACRX_CMD_USEPICKSET, и ACRX_CMD_REDRAW (см. “ Прозрачный против Модальных Команд ” на странице 42).

FunctionAddr

Адрес функции, которая будет выполнена, когда эта команда вызвана в соответствии с AutoCAD.

UiContext

Входной указатель на AcEdUIContext класс повторного вызова.

Fcode

Введите целочисленный код, назначенный на команду.

ПРИМЕЧАНИЕ, которое строго рекомендует, чтобы все имена команд имели Ваш зарегистрированный префикс разработчика с четырьмя символами, чтобы избежать возможных конфликтов с командами  в других приложениях. Например, MOVE команда  разработчика с префиксом ASDK

должна быть ASDKMOVE.

Использование вашего зарегистрированного префикса разработчика также рекомендуется для имен группы.

Сигнатура для removeCmd()

virtual Acad::ErrorStatus

AcEdCommandStack::removeCmd

(const char* cmdGroupName,

const char* cmdGlobalName) = 0;

Сигнатура для removeGroup()

virtual Acad::ErrorStatus

AcEdCommandStack::removeGroup

(const char* groupName);


Содержание раздела