Выделение прямоугольной области (bevel) Назад В начало Вперед

Конструкция bevel визуально выделяет прямоугольную область. Данная конструкция используется только в анкетном редакторе. В анкетном редакторе может быть несколько bevel'ов.

Рис. 7 Расположение элементов bevel на экране

<описание-bevel> = [ bevel <name> {<X1>, <Y1>, <X2>, <Y2>, <style>, <shape>}; ]

<name> - корректный идентификатор (уникальное имя в пределах конструкции screen).

<X1>, <Y1>, <X2>, <Y2> - координаты левого верхнего и правого нижнего угла в текстовых координатах. При этом:

Для получения вертикальной или горизонтальной линии нужно положить X2=X1 или Y2=Y1 соответственно.

<style> - стиль:

<shape> - фигура:

Горизонтальная и вертикальная линии пересекают всю область ввода от начала до конца и масштабируют свои координаты при изменении координат области ввода, содержащей их. Положение горизонтальной разделительной линии bsHorizontal задается Y-координатой, а положение вертикальной разделительной линии bsVertical - X-координатой в описании координат элемента Bevel.

Пример

Полученное окно представлено на Рис. 7. Обратите внимание, что границы, примыкающие в исходном тексте программы (операторы 2-3 и 5-6) на экране отображаются с зазором. А границы, примыкающие визуально, в исходном тексте перекрываются (операторы 1-2 и 4-5).

interface TestBevel;
  show at (1,1,40,17)

  create view
	var
	i : longInt;

  as select * from X$Files;

screen scrBev;
// вертикальные прямоугольники:
  bevel b10 {24, 0, 26, 6, bsRaised, bsFrame}; // 1
  bevel b11 {25, 1, 27, 6, bsRaised, bsFrame}; // 2
  bevel b12 {27, 2, 29, 6, bsRaised, bsFrame}; // 3
// горизонтальные прямоугольники:
  bevel b20 { 2, 9, 20, 11, bsRaised, bsFrame}; // 4
  bevel b21 { 3, 10, 20, 12, bsRaised, bsFrame}; // 5
  bevel b22 { 4, 12, 20, 14, bsRaised, bsFrame}; // 6
// рамочка на два последних поля:
  bevel b10 {1, 4, 24, 8, bsRaised, bsFrame};

  fields
	X$Files.XF$CODE;
	X$Files.XF$NAME;
	i;
	X$Files.XF$CODE;
	X$Files.XF$NAME;
	i;

<<
  Код  .@@@@@@@@@@@@@@@
  Наим .@@@@@@@@@@@@@@@
  счет .@@@@@@@@@@@@@@@
  Код  .@@@@@@@@@@@@@@@

  Наим .@@@@@@@@@@@@@@@
  счет .@@@@@@@@@@@@@@@

012345678901234567890123
77
88
99
00
11
>>
end;
end.