<listbox>
и
<radiogroup>
.
Для организации промежутка между элементоми используются два очень похожих элемента:
spacer
и separator
. Если не указать размер или
flex, то
spacer
не будет виден на экране совсем, separator
займёт немного места
(это написанно в инструкции, я не заметил никакого различия, поправьте меня если я неправ).
Посмотреть пример
<?xml version="1.0" encoding="windows-1251"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window title="Пример 5.1" id="ButtonWin" orient="horizontal" width="200" height="50" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <button label="1" /><spacer flex="1" /><button label="2" /> </window>
Коробочные элементы представлены элементами с названиями, заканчивающимися на box
.
Есть собственно box
и его подобия vbox
, hbox
и
bbox
.
Все они представляют собой невидимые прямоугольные элементы - контейнеры с дочерними элементами внутри. Расположение дочерних элементов внутри зависит от атрибутов align, dir, flex, orient, pack подробно описаны в главе с общими свойствами.
В чём различаются собственно vbox
, hbox
и
bbox
? Отличаются они установками
orient(ориентации) по умолчанию.
vbox
имеют вертикальную ориентацию.
hbox
имеют горизонтальную ориентацию.
bbox
- эквивалентен hbox
с атрибутом
align установленым в baseline .
Посмотреть пример
<?xml version="1.0" encoding="windows-1251"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window title="Пример 5.2" id="ButtonWin" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <hbox flex="1" align="top" style="border: solid;border-width: 1px;"> <button label="Правая" style="min-width: 100px;" flex="1"/> <spacer flex="1"/> <button label="Левая" style="min-width: 100px;" flex="1"/> </hbox> <spacer style="height: 25px;"/> <vbox flex="1" align="top" style="border: solid;border-width: 1px;"> <button label="Верняя" style="min-width: 100px;" flex="1"/> <spacer flex="1"/> <button label="Нижняя" style="min-width: 100px;" flex="1"/> </vbox> </window>
Обратите внимание, что линии вокруг box в примере, нарисованы при помощи стилей, по умолчанию никаких линий, конечно, нет.
Когда мы создаем "растягиваемый" дизайн мы можем ограничить автоматическое уменьшение и увеличение размеров элементов. Для этого служат атрибуты minwidth, minheight, maxwidth, maxheight.
groupbox
представляет из себя обычный box
, за небольшим исключением -
вокруг него по умолчанию рисуются линия, изображениие которой можно менять при помощи стилей. Также
groupbox
поддерживает рисование заголовка в верхней части.
Заголовок рисуется элементом caption
. caption
имеет атрибут lable,
в котором содержится заголовок окна. caption
также может быть контейнером, содержащим
дочерние элементы. Это мы и видим в примере:
Посмотреть пример
<?xml version="1.0" encoding="windows-1251"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window title="Пример 5.3" id="ButtonWin" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <hbox> <groupbox width="50"> <caption label="Кто это?"/> <description value="Ты"/> <description value="Я"/> <description value="Он"/> <description value="Она"/> </groupbox> <groupbox> <caption> <checkbox label="Вы уверены?"/> </caption> <radiogroup> <radio id="a1" selected="true" label="Да"/> <radio id="a2" label="Нет"/> </radiogroup> </groupbox> </hbox> </window>
Хотите помочь? Вы нашли ошибку или хотите сделать комментарий - пишите. Я рад любой помощи.
©Yegor Turin (electroCat.ru) 2004 year. All Rights Reserved.