
- •Компоненты пользовательского интерфейса
- •Название_компонента Имя_переменной Символьная_строка
- •Общие свойства компонентов пользовательского интерфейса
- •Общие параметры компонентов пользовательского интерфейса
- •Типы компонентов пользовательского интерфейса Для примера рассмотрим утилиту, использующую все возможные компоненты пользовательского интерфейса
- •Битовая карта
- •Параметры
- •Свойства
- •События
- •Параметры
- •Параметры
- •Свойства
- •События
- •Параметры
- •Свойства
- •События
- •Выпадающий список
- •Параметры
- •Свойства
- •События
- •Свойства
- •События
- •Кнопка выбора текстурной карты
- •Параметры
- •Свойства
- •События
- •Кнопка выбора материала
- •Параметры
- •Свойства
- •События
- •Список с возможностью множественного выбора
- •Параметры
- •Свойства
- •События
- •Кнопка выбора объекта
- •Параметры
- •Свойства
- •События
- •Задатчик
- •Параметры
- •Свойства
- •События
- •Параметры
- •Свойства
- •События
- •Кнопки с картинками
Компоненты пользовательского интерфейса
Синтаксис определения компонентов пользовательского интерфейса выглядит так
Название_компонента Имя_переменной Символьная_строка
Список_именованных_параметров
Название компонента – одно из следующих ключевых слов, означающих один из типов компонентов
bitmap
button
checkbox
checkbutton
colorpicker
combobox
dropdownlist
edittext
label
listbox
mapbutton
materialbutton
multilistbox
pickbutton
progressbar
radiobuttons
slider
spinner
timer
Имя переменной означает переменную, в которую будет занесена ссылка на созданный компонент. Обычно эта переменная активно используется для получения информации о состоянии компонента и управления им. Символьная строка необязательна. Обычно она задает заголовок компонента. Следующий далее список именованных параметров, предназначен для настройки компонента, например задания его начального состояния, местоположения на свитке и т.д.
Общие свойства компонентов пользовательского интерфейса
Для каждого из созданных Вами компонентов интерфейса отводится переменная, имя которой указано в определении. С ее помощью можно получить свойства данного компонента, используя стандартный синтаксис MAXScript для обращения к свойствам объекта. Например, текст, содержащийся в поле однострочного редактора MyEdit, можно получить так
MyEdit.text
Для каждого типа компонентов существует свой, строго определенный перечень свойств, но некоторые имеются у всех. Свойство
Компонент_интерфейса.caption
является символьной строкой и содержит заголовок компонента, а у некоторых типов кнопок он выводится на кнопке.
Свойство
Компонент_интерфейса.text
для всех типов компонента, кроме однострочного редактора и списка с редактором является синонимом свойства caption. Для указанных двух типов это текст, содержащийся в поле редактирования.
Возможность или невозможность работы с компонентом определяется свойством
Компонент_интерфейса.enabled
По умолчанию все создаваемые компоненты всегда доступны для работы пользователя, что соответствует значению этого свойства true. Присвоив ему значение false, можно заблокировать любой компонент, хотя для некоторых, например картинки или метки, это и не имеет особого смысла.
В процессе создания свитка, компоненты размещаются на нем в порядке определения сверху вниз. Используя свойство
Компонент_интерфейса.pos
можно поместить в любой точке панели. Данное свойство представляет собой точку в двумерном пространстве, которая содержит координаты компонента на свитке. Началом координат считается левая верхняя точка свитка.
Общие параметры компонентов пользовательского интерфейса
Необязательные именованные параметры, задаваемые при определении компонентов интерфейса специфичны для каждого типа компонента. Однако есть и общие, универсальные параметры. Каждый компонент при определении размещается на панели особым образом, выравниваясь по центру или по одному из краев панели. Принудительно задать способ выравнивания можно задать с помощью параметра
align: Имя_способа_выравнивания
В качестве способа можно задавать следующие значения.
#left – по левому краю
#center – по центру
#right – по правому краю
Параметр
offset: Точка_в_2D_пространстве
позволяет задать смещение компонента относительно, относительно того положения, которое он займет в результате его автоматического размещения. Первая координата точки определяет смещение по горизонтали, вторая по вертикали. Если желательно напрямую задать положение компонента на панели, то для этого используется параметр
pos: Точка_в_2D_пространстве
Указанная в нем точка определяет координаты компонента. В качестве начала координат используется левая верхняя точка панели.
Размеры компонента так же можно задать принудительно с помощью параметров
width: Число
и
height: Число
определяющих соответственно ширину и высоту компонента в пикселях. Следует только отметить, что для компонентов список, выпадающий список, список с редактором, параметр height определяется особым образом. Подробнее об этом будет рассказано в описании указанных компонент.
Компоненты располагаются на панели друг под другом в порядке определения, а если надо разместить несколько компонентов в одном горизонтальном ряду, то для этого применяется параметр
across: Целое_число
После компонента с таким параметром несколько следующих будут располагаться не под ним, а справа от него. Их количество определяется заданным в параметре числом. При задании, например, значения 3, в ряд будут расположены три компонента. Тот, для которого определен параметр и два следующих. Например, панель утилиты, определенной таким скриптом
utility U "MyUtility"
( button b1 "But1" across:3
button b2 "But2"
button b3 "But3"
)
выглядит так
Если изменить значение параметра across для кнопки b1, и установить его равным 2, то та же панель будет иметь следующий вид