- •1. Введение
- •2. Неавтоматизированное создание чертежей в AutoCad
- •3. Программирование в AutoCad
- •4. Элементы языка AutoLisp
- •5. Интегрированная среда Visual lisp
- •6. Применение функций AutoLisp
- •7. Функции вывода графических примитивов
- •8. Диалоги и диалоговые окна
- •Работа с диалогами из lisp-программ
- •Атрибуты заголовка диалога
- •Элементы диалога
- •Атрибуты элементов диалога
- •Переменные действия
- •Функции, работающие с графическими элементами
- •9. Управление работой AutoCad с помощью системных переменных
- •10. Меню и адаптации
- •11. Введение в технологию ActiveX
- •Безопасные массивы
- •Объекты и семейства
- •Варианты
- •Свойства
- •Другие функции ActiveX
- •События и реакторы
- •12. Программы, созданные на платформе AutoCad спдс GraphiCs
- •13. Специализированные программы для архитектуры и строительства
- •Ат Венцы
- •Комплекс программных продуктов, объединенных компанией аскон
- •Лоцман: спдс
- •Компас-график
Элементы диалога
Рассмотрим некоторые элементы, с помощью которых может быть сформировано диалоговое окно.
edit_box – редактируемое текстовое поле (см. пример).
errtile – поле для отображения сообщений об ошибках.
image – поле с изображением. Оно является средством оформления окна и не реагирует на нажатие на него мышью.
image_button – кнопка с изображением. В отличие от графического поля, на кнопку можно нажать и запрограммировать реакцию на нажатие кнопки.
radio_column – вертикальная колонка переключателей.
radio_row – горизонтальный ряд переключателей (см. пример).
text – текстовое не редактируемое поле. Его назначение аналогично графическому полю.
spacer – пустой элемент произвольной ширины и высоты (см. пример).
Кроме того, имеются элементы для оформления списков, флажков, скользящих шкал.
Существуют также элементы с кнопками выхода, нажатие на которые закрывает окно.
ok_button – элемент с одной кнопкой OK.
ok_cancel – объединенный элемент из кнопок OK и CANCEL (см. пример).
ok_cancel_help – объединенный элемент из кнопок OK, CANCEL и HELP.
ok_cancel_help_info – объединенный элемент из кнопок OK, CANCEL, HELP и INFO.
Элементы диалога, которые допускают изменение каких-либо данных, называются элементами управления (см. в примере edit_box, radio_row).
С любым элементом управления можно связать код элемента, указав его в key=… Код элемента используется для описания действий AutoLISPа (см. функцию action_tile).
Элементы с кнопками выхода имеют стандартные коды:
OK – “accept”;
CANCEL – “cancel” (см. пример);
HELP – “help”;
INFO – “info”.
Атрибуты элементов диалога
С элементами диалога могут применяться следующие атрибуты.
Атрибут |
Описание |
Область применения |
edit_limit |
Предельный размер (в символах, не более 256) редактируемого поля. Значение по умолчанию равно 132. |
edit_box |
edit_width |
Размер видимой части (в символах) редактируемого поля. По умолчанию размер принимается максимально возможным в данном окне. |
edit_box |
height |
Минимальная высота элемента |
Все элементы |
key |
Код элемента |
|
label |
Начальный текст элемента |
|
value |
Начальное значение |
|
width |
Минимальная ширина элемента |
Также имеются атрибуты для установок способа выравнивания и способа управления размерами элементов окна, управления цветом и размерами полей и кнопок с изображениями, задания реакций на нажатие клавиш ESC, ENTER, TAB, работы со списками и т.д.
Переменные действия
Во время работы диалогового окна система AutoCAD формирует значения глобальных переменных, которые называются переменными действия.
Рассмотрим некоторые переменные действия и их значения.
$key – код элемента.
$value – строка с содержимым поля редактируемых данных (или «0»/«1» для элементов типа переключателей, флажков и т.д.).
$reason – число с кодом причины прерывания работы;
$x, $y – координаты указанной пользователем точки при работе с элементом image_button.
В примере мы использовали только переменную $value.
