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

         

Функции ввода пользователя


Ввод пользователя или acedGetxxx () функции делают паузу для пользователя, чтобы ввести данные обозначенного типа, и возвращать значение в параметре результата. Приложение может определить необязательную подсказку, чтобы отобразить перед функциональными паузами.

ОБРАТИТЕ ВНИМАНИЕ, что функции Several имеют подобные названия, но - не часть группы вводов пользователя: acedGetFunCode (), acedGetArgs (), acedGetVar (), и acedGetInput ().

Следующие функции ведут себя подобно функциям ввода пользователя: acedEntSel (), acedNEntSelP (), acedNEntSel (), и acedDragGen (). Следующая таблица кратко описывает функции ввода пользователя.

 



Имя функции

 Описание

AcedGetInt

 Получает целочисленное значение

AcedGetReal

 Получает реальное значение

AcedGetDist

 Получает расстояние

AcedGetAngle

 Получает угол (к 0 градусам как определено ANGBASE переменной)

AcedGetOrient

 Получает угол (к 0 градусам вправо)

AcedGetPoint

 Получает точку

AcedGetCorner

 Получает угол прямоугольника

AcedGetKword

 Получает ключевое слово (см. описание ключевых слов позже в этой секции)

AcedGetString

 Получает строку

С некоторыми функциями ввода пользователя типа acedGetString (), пользователь вводит значение в линию подсказки AutoCAD. С другими типа acedGetDist (), пользователь или вводит ответ на подсказке, выравнивают, или определяет значение,  выбирая точки на графическом экране.

Если экран используется, чтобы определить значение, AutoCAD отображает линии с  резиновой полосой, которые являются подчиненными к прикладному контролю{*управлению*}. Предшествующий запрос к acedInitGet () может заставлять AutoCAD высвечивать линию резиновый полоса (или поле).

AcedGetKword () функция отыскивает ключевое слово. Ключевые слова - также строковые значения, но они не содержат никакое незаполненное пространство, могут быть сокращены, и должны быть основаны перед acedGetKword () запрос запросом к acedInitGet (). Все функции ввода пользователя (кроме acedGetString ()) могут принимать значения ключевого слова в дополнение к значениям, которые они обычно возвращают, если acedInitGet () был вызван{*назван*}, чтобы основать ключевые слова. Функции Ввода пользователя, которые принимают ключевые слова, могут также принимать произвольный текст (без пространств{*пробелов*}).


ПРИМЕЧАНИЕ Вы может также использовать acedInitGet () чтобы позволить acedEntSel (), acedNEntSelP (), и acedNEntSel () принять ввод ключевого слова. AcedDragGen () функция также признает ключевые слова.

Пользователь AutoCAD не может ответить на функцию ввода пользователя,  вводя выражение AutoLISP.

Функции ввода пользователя воспользуются преимуществом возможности с обнаружением ошибок AutoCAD. Тривиальные ошибки (типа ввода только единственный{*отдельный*} номер в ответ на acedGetPoint ()) пойман в соответствии с AutoCAD и не возвращен функцией ввода пользователя. Приложение должно только проверить условия{*состояния*}, показанные в следующей таблице.

Возвращаемые значения для функций ввода пользователя

Код

Описание

RTNORM

 Пользователь ввел имеющее силу значение

RTERROR

 Функциональный запрос потерпел неудачу

RTCAN

 Пользователь ввел ESC

RTNONE

 Пользователь ввел только ВВОД

RTREJ

 AutoCAD отклонил запрос как инвалид

RTKWORD

 Пользователь ввел ключевое слово или произвольный текст

RTCAN случай позволяет пользователю отменить запрос приложения,  нажимая ESC. Это помогает приложению соответствовать стилю встроенного AutoCAD, командует, которые всегда позволяют отмену пользователя. Возвращаемые значения RTNONE и RTKWORD управляются функцией acedInitGet (): возвращения функции ввода пользователя RTNONE или RTKWORD только, если эти значения явно позволились предшествующим acedInitGet () запрос.


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