Графический инструментарий позволяет вам создавать и обраба-
тывать одно или несколько окон. Каждое окно может быть связано со
своей отдельной планетной координатной системой. Кроме того, окно
может иметь заголовок и быть заключенным в границы. Две основные
процедуры используются для работы с окнами: DefincWindow и
SelectWindow. Они декларируются следующим образом:
procedure DefineWindow(WindomNum, X1, Y1, X2, Y2: integer);
procedure SelectWindow(WindomNum: integer);
WindoNum - это номер окна. В процедуре DefineWindow параметры X1,
Y1 определяют местоположение верхнего левого угла, а X2, Y2 -
правого нижнего угла. Одним необычным аспектом процедуры
DefineWindow является измерение координаты Х единицами, равными 8
пикселам. Следовательно, предложение
Defin_Window(1, 0, 0, 10, 10);
задает окно, которое имеет 10 пикселов высоты и 80 пикселов шири-
ны (такой подход используется, так как все окна должны быть вы-
равнены в памяти отображения на границу байта).
Для связи планеты с окном необходимо придерживаться следую-
щей последовательности:
1. выбрать планету;
2. выбрать окно.
Для отображения сообщения в заголовке вы должны сначала связать
заголовок с окном, а затем заголовок в соответствие "включено".
Для реализации этого используйте процедуры DefineHeader и
SetHeaderOn, которые декларируют следующим образом:
procedure DefineHeader(WindowNum: integer, Msg: WrkString);
procedure SetHeaderOn;
Вызов DrawBorder помещает границу вокруг активного окна. Данная
процедура не имеет параметров.
Следующая программа иллюстрирует правильный порядок вызова
различных процедур работы с окном для того, чтобы активизировать
окно с границей и заголовком. Ее вывод показан на рис.10-5.
program One_Window;
{Si typedef.sys}
{Si graphix.sys}
{Si kernel.sys}
var
i:integer;
begin
InitGraphic;
DefineWorld(1, 0, 0, 1000, 1000);
DefineWindow(1, 20, 20, 40, 100);
DefineHeader(1, 'Заголовок');
SetHeaderOn;
SekectWorld(1);
SekectWindow(1);
DrawBorder;
repeat until KeyPressed;
LeaveGraphic;
end.
--------------------------------------------------
+----------------+
+----------------+
+----------------+
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
+----------------+
---------------------------------------------------
Рис.10-5. Простое окно с границей и заголовком