Секция управляющих элементов controls |
Секция управляющих элементов задает видимое представление анкетного редактора посредством объявления управляющих элементов, из которых состоит анкетный редактор:
<управляющие-элементы> = controls { <управляющий-элемент> }
<управляющий-элемент> - объявление управляющего элемента:
<управляющий-элемент> = <тип-контрола> <координаты-bounds>, [name=<идентификатор> | <идентификатор>], <описание-контрола>;
<тип-контрола> - тип управляющего элемента:
<тип-контрола> = button | edit | checkboxes | radiobuttons | text | bevel | label
button - кнопка.
edit - редактируемое поле (поле ввода).
checkboxes - выбор нескольких из предложенных вариантов.
radiobuttons - выбор одного из предложенных вариантов.
text - статический текст.
bevel - визуальное выделение прямоугольной области.
label - метка управляющего элемента.
<координаты-bounds> - координаты и размер управляющего элемента в формате конструкции bounds. См. <координаты-bounds> в разделе "Координаты. ". Координаты в формате конструкции show at использовать нельзя.
<идентификатор> - идентификатор, который используется для ссылки на данный управляющий элемент.
<описание-контрола> - описание управляющего элемента.
<описание-контрола> = <описание-button> | <описание-edit> | <описание-checkboxes> | <описание-radiobuttons> | <описание-text> | <описание-bevel> | <описание-label>
<описание-button> - описание кнопки.
<описание-button> = <идентификатор-команды>, <надпись-на-кнопке> [<контексты>] : [<дополнительные-атрибуты>] [<атрибуты>]
<идентификатор-команды>, <дополнительные-атрибуты> и <атрибуты> - см. <описание-кнопки> в разделе "Описание кнопок. ".
<надпись-на-кнопке> - текст надписи на кнопке.
<контексты> - контексты справочника, линии статуса и строка подсказки. Синтаксическая конструкция служит для связывания с интерфейсом отдельных тем файла подсказки, статус-строки и строки подсказки. См. "Контексты. ".
Пример:
button bounds (2,15,15,16), name=btn1, cmYes, 'OK' 'Все сделали', hcButton1, scButton1): default;
<описание-edit> - описание редактируемого поля (поля ввода).
<описание-edit> = <переменная-поля> <контексты> : <атрибуты-поля>
<переменная-поля> - поле БД или переменная.
<контексты> - контексты справочника, линии статуса и строка подсказки. Синтаксическая конструкция служит для связывания с интерфейсом отдельных тем файла подсказки, статус-строки и строки подсказки. См. "Контексты. ".
<атрибуты-поля> - см. раздел "Атрибуты поля. ".
Пример:
edit bounds (14, 3, 34, 4), name=Field1, s1 ('Введите данные', hcEdit1, scEdit1) : noProtect;
<описание-checkboxes> - выбор нескольких из предложенных вариантов. Список вариантов выбора задается атрибутом list.
<описание-checkboxes> = <переменная> <контексты> : <атрибуты>
<переменная> - переменная, в которую будет положен порядковый номер выбранного варианта.
<контексты> - контексты справочника, линии статуса и строка подсказки. Синтаксическая конструкция служит для связывания с интерфейсом отдельных тем файла подсказки, статус-строки и строки подсказки. См. "Контексты. ".
<атрибуты> - совпадают с атрибутами поля, уместными для данного элемента, см. раздел "Атрибуты поля. ".
Пример:
checkboxes bounds (2, 6, 12, 7), name=cb1, i1 ('Выбери всех', hcChBox1, scChBox1): list 'Item 1.1', 'Item 1.2'];
<описание-radiobuttons> - выбор одного из предложенных вариантов. Список вариантов выбора задается атрибутом list.
<описание-radiobuttons> = <переменная> <контексты> : <атрибуты>
<переменная> - переменная, в которую будет положен порядковый номер выбранного варианта.
<контексты> - контексты справочника, линии статуса и строка подсказки. Синтаксическая конструкция служит для связывания с интерфейсом отдельных тем файла подсказки, статус-строки и строки подсказки. См. "Контексты. ".
<атрибуты> - совпадают с атрибутами поля, уместными для данного элемента, см. раздел "Атрибуты поля. ".
Пример:
radiobuttons bounds (20, 6, 35, 17), name=rb1, i2 ('Выбери меня', hcButton1, scButton1) : [list 'Item 2.1', 'Item 2.2'];
<описание-text> - задает статический текст.
<описание-text> = <текст>
Пример:
text bounds (10, 1, 30, 2), name=txt1, 'ЭКРАН ВВОДА ДАННЫХ';
<описание-bevel> - визуально выделяет прямоугольную область.
<описание-bevel> = : <style>, <shape>
<style>, <shape> - см. <описание-bevel> в разделе "Выделение прямоугольной области (bevel). ".
Пример:
bevel bounds (1, 17, 36, 18), name=bev1 : bsLowered, bsHorizontal;
<описание-label> - метка управляющего элемента. Метка связывается с управляющим элементом, после которого она описана.
<описание-label> = <текст>
Пример (метка к полю Field1):
edit bounds (14, 3, 34, 4), name=Field1, s1 ('ввод данных', hcEdit1, scEdit1) : noProtect; label bounds (2, 3, 12, 4), name=lbl1, '~П~оле s1:';
interface VisiVip; create view var i1, i2 : integer; s1 : string; as select X$Files.* from X$Files where (('C_CORE' == X$Files.XF$COMPONENT)) ; screen scrTest; bounds (,,40.5,20.1); controls button bounds (2,15,15,16), name=btn1, cmYes, 'OK' ('Все сделали', hcButton1, scButton1): Default; text bounds (10, 1, 30, 2), name=txt1, 'П Р И В Е Т !!!'; edit bounds (14, 3, 34, 4), name=field1, s1 ('Нажми сюда', hcEdit1, scEdit1) : noProtect; label bounds (2, 3, 12, 4), name=tla1, '~П~оле s1:'; checkboxes bounds (2, 6, 12, 7), name=cb1, i1 ('Выбери всех', , ) : [list 'Item 1.1', 'Item 1.2'], noProtect; radiobuttons bounds (20, 6, 35, 17), name=rb1, i2 ('Выбери меня', , ) : [list 'Item 2.1', 'Item 2.2']; bevel bounds (1, 17, 36, 18), name=bev1 : bsLowered, bsHorizontal; end; handleEvent cmInit: { s1 := 'Воистину привет!'; } cmYes: { message('Нажали ОК' + chr(13) + 'поле s1=' + s1 + chr(13) + 'CheckBoxes=' + i1 + chr(13) + 'RadioButtons=' + i2 ); } end; end.