Секция управляющих элементов 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.