Page 59 - AutoLISP и Visual LISP в среде AutoCAD
P. 59
Элементы управления, объединения с атрибутами и модифицируемые
прототипы помещаются в диалог так, как, это показано на примере элементов
tile1 и tile2. Каждый такой элемент помещается в диалог с помощью символа ":"
за которым следует его название и описание атрибутов в фигурных скобках.
Если в диалог помещается элемент управления, объединение без
атрибутов или немодифицируемый прототип, то ссылка дается как в примере
standart_tile, т.е. указывается только название (имя) элемента за которым
следует символ ";".
При разработке диалоговых окон важно учитывать, что все стандартные
элементы управления и объединения, их атрибуты и значения атрибутов,
представленные в виде зарезервированных слов, следует задавать в нижнем
регистре. При описании атрибутов того или иного элемента управления каждое
определение в виде атрибут=значение должно заканчиваться символом ";".
Если предполагается использовать атрибут со значением по умолчанию, то
такой атрибут не описывают.
В DCL-файлах допускаются комментарии, которые можно вводить двумя
способами. Все, что находится после символов "//" и концом строки,
игнорируется. Если необходимо закомментировать несколько строк
используется структура, принятая в языке программирования Си. В данном
случае комментарий начинается символами "/*" и заканчивается "*/".
Для задания прототипов используется следующий синтаксис:
имя: tile1 [: tile2 :tile3] {
атрибут=значение;
},
где имя - новый элемент управления (объединение), который наследует
функции и атрибуты элементов управления tile1, tile2 и т.д. В фигурных скобках
задают атрибуты (добавляют или замещают наследуемые определения).
В качестве примера рассмотрим создание собственной кнопки.
my_button: button {
label="My Button";
is_default=true;
key="mb";
}.
Ссылка на прототип внутри диалога может быть оформлена двумя
способами: без изменения атрибутов (пример слева) и с заданием новых или
изменением имеющихся атрибутов (пример справа).
di: dialog { di: dialog {
my_button; :my_button {
} width=30;
}
}
В правом примере кнопка наследует атрибуты прототипа my_button, к
которым добавляется атрибут width.
58