Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
2021-06-30 | 40 |
5.00
из
|
Заказать работу |
|
|
Технология создания диалоговых окон изложена в предыдущем разделе. Сейчас разберем более подробно отдельные элементы и синтаксис языка DCL с использованием LISP-программ.
Директива описания диалога
Директива описания диалога задает имя, по которому диалоговое окно вызывается из программы на экран. Директива использует ключевое слово dialog:
<имя>:dialog{<атрибуты><элементы>}В качестве имени диалога может быть использован любой идентификатор, не совпадающий со служебными словами. Имена диалогов в одном сеансе AutoCAD не должны повторяться. Параметр >атрибуты< - это последовательность разделяемых точкой с запятой операций задания атрибутам значений:
<атрибут1>=<значение1>;<атрибут2>=<значение2>;…Параметр <элементы> является набором директив описания элементов (текстовых полей, кнопок, списков, надписей, флажков и пр.).
Имена атрибутов и элементов должны быть стандартными ключевыми словами. Значения атрибутов могут быть числами или строками, - в зависимости от атрибута. Если директива описывает элемент диалогового окна, то параметр <атрибуты> - это описание атрибутов элемента и их значений, отличных от значений по умолчанию. Если директива является директивой группировки элементов, то она содержит внутри фигурных скобок директивы определения группируемых элементов.
Атрибуты диалога - это различные характеристики окна в целом или его отдельных элементов. В таблице приведены ключевые слова, которые могут быть использованы в качестве атрибутов в директиве описания диалога.
Атрибут | Описание | Допустимые значения | Значение по умолчанию |
Label | Начальный текст заголовка диалогового окна | Строка | " " (пробел) |
Value | Текущий текст заголовка диалогового окна | Строка | Нет |
Key | Код диалога | Строка | Нет |
Width | Ширина окна | Число | Нет |
Height | Высота окна | Число | Нет |
initial_focus | Код подсвеченного элемента в диалоговом окне | Строка | Нет |
children_alignment | Способ выравнивания подчиненных элементов по умолчанию | left, right, centered (дляколонок), top, bottom, centered (длярядов) | left (для колонок), centered (для рядов) |
children_fixed_width | Фиксация ширины подчиненных элементов по умолчанию | true, false | false |
children_fixed_height | Фиксация высоты подчиненных элементов по умолчанию | true, false | false |
Атрибуты label и value близки по смыслу. Различие между ними состоит в том, что атрибут label влияет на размер окна, а значение атрибута value - не влияет. Атрибут key обеспечивает возможность изменить программно заголовок выводимого диалогового окна. В качестве значения кода диалога могут использоваться только строки.
|
Атрибут width задает минимальную ширину окна в условных символах. Ширина символа равна средней ширине символа латинского алфавита шрифта по умолчанию. Ширина окна вычисляется системой по размерам заголовка и элементов. Если она получилась меньше, чем задано в значении атрибута width, то она увеличивается. То же самое справедливо для атрибута height, только здесь задается высота окна в количестве условных высот символа шрифта.
Атрибут initial_focus указывает код элемента, который подсвечивается по умолчанию и выполняет действие при нажатии пользователем клавиши ENTER.
Три атрибута с префиксом children задают свойства не самого диалога, а входящих в него элементов. Атрибут children_alignment задает способ, которым система AutoCAD выравнивает элементы, размещенные в диалоговом окне. По умолчанию элементы диалога, расположенные в колонку, выравниваются влево, а элементы, расположенные в ряд, выравниваются по центру. На элементы, у которых задан свой атрибут alignment, значение атрибута children_alignment не влияет.
Атрибуты children_fixed_width и children_fixed_height обычно задают тогда, когда их значение равно true. Это означает, что по умолчанию размеры подчиненных элементов (например, кнопок) не изменяются при выводе диалогового окна. Система не будет растягивать кнопки, а будет лишь изменять расстояния между ними.
|
В среде Visual LISP имеется способ проверки внешнего вида диалогового окна без загрузки DCL -файла в память системы. Дляэтогонужнозапуститькоманду Tools - Interface Tools - Preview DCL in Editor. Активизируется диалоговое окно, в котором нужно выбрать имя диалога. После этого диалоговое окно отобразится на экране.
Элементы диалога
Внутри директивы описания диалога размещены директивы описания элементов. Эти директивы записываются в форме:
[<метка>]:<оператор>{<атрибуты>}Каждый элемент является либо элементом оформления (надписи, слайды и пр.), либо элементом управления (кнопки, текстовые поля, списки и пр.). К элементам управления пользователь имеет доступ с помощью клавиатуры или указателя мыши.
В директивах в качестве значения <оператор> могут использоваться следующие наименования элементов:
· button - кнопка;
· edit_box - редактируемое текстовое поле;
· errtile - поле для отображения сообщений об ошибках;
· image - поле с изображением;
· image_button - кнопка с изображением;
· list_box - список;
· popup_list -раскрывающийся список;
· radio_button - переключатель;
· radio_column - вертикальная группа переключателей;
· radio_row - горизонтальная группа переключателей;
· boxed_radio_column - конка переключателей в рамке;
· boxed_radio_row - ряд переключателей в рамке;
· slider - скользящая шкала;
· toggle - флажок;
· column - колонка (средство объединения элементов);
· row - ряд (средство объединения элементов);
· text - нередактируемое текстовое поле;
· text_part - часть текста, включаемая в элементы concatenation и paragraph;
· concatenation - горизонтальное соединение элементов text_part;
· paragraph - вертикальное соединение элементов text_part и concatenation;
· spacer - пустой элемент ширины width и высоты height;
· spacer_0 - элемент c нулевыми значениями ширины width и высоты height;
· spacer_1 - элемент spacer c единичными значениями width и height.
В файле base. dcl определены следующие элементы, ссылки на которые очень часто применяются в пользовательских диалоговых окнах:
· ok_button - элемент с одной кнопкой ОК;
· ok_only - элемент в виде колонки с одной кнопкой ОК;
· ok_cancel - элемент из кнопок OK и Cancel;
· ok_cancel_help - элементизкнопок OK, Cancel и Help;
· ok_ cancel_err - элемент из кнопок OK и Cancel и полем сообщений об ошибках;
|
· ok_cancel_help_errtile - элемент из кнопок OK, Cancel, Help и полем сообщений об ошибках;
· ok_cancel_help_info - элементизкнопок OK, Cancel, Help и Info.
Все эти элементы содержат кнопку выхода из диалогового окна. Ниже приведены коды (keys) стандартных элементов, включенные в элементы с кнопкой выхода.
Элемент (кнопка) | Код элемента |
OK | "accept" |
Cancel | "cancel" |
Help | "help" |
Info | "info" |
Поле сообщений об ошибках | "error" |
Атрибуты элементов
При описании элемента нет необходимости перечислять значения всех его атрибутов. Достаточно указать только те атрибуты, значения которых должны отличаться от значений по умолчанию. Большая часть атрибутов (например, label, value, key, width, height и др.) применяется во всех элементах. Однако смысл атрибута в разных элементах может быть различным.
Ниже приведены некоторые часто употребляемые атрибуты
Атрибут | Описание | Допустимые значения | Область применения | Значения по умолчанию |
Action | Действия, выполняемые при выборе данного элемента | Строка с текстом AutoLISP | Элементы управления | " " |
alignment | Способ выравнивания | left, right, centered; top, bottom, centered | Все элементы | left, centered |
Color | Цвет | 0-256 или black, red, yellow, green, cyan, blue, magenta | image | 7 |
edit_width | Количество видимых символов в редактируемом поле | Целое число | edit_box | Максимально возможное |
is_cancel | Признак срабатывания при нажатии ESC | true, false | button (только один элемент) | false |
is_default | Признак срабатывания при нажатии ENTER | true, false | button (только один элемент) | false |
Key | Код элемента | Строка | Все элементы | Нет |
Label | Начальный заголовок | Строка | Все элементы | " " |
List | Начальное состояние списка | Строка с элементами списка (разделитель \n) | list_box, popup_list | Нет |
multiple_select | Разрешение множественности выбора | true, false | list_box | false |
password_char | Символ, закрывающий текст вводимого пароля | Символ | Edit_box | Нет |
Value | Начальное значение | Строка | Все элементы | Нет |
|
|
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!