Координаты, окна, страницы
Uses Graph,CRT; var x,y,e: Integer; x11,y11,x12,y12, {Координаты 1-го окна} x21,x22, {Левый верхний угол 2-го} R, {Начальный радиус} k: Integer; begin DirectVideo: = False {Блокируем прямой доступ к видеопамяти в модуле CRT} {Инициируем графический режим} х: = Detect; InitGraph(x, у, ''); {Проверяем результат} е: = GraphResult; if e <> grOk then WriteLn(GraphErrorMsg (e)) {Ошибка} else begin {Нет ошибки} {Вычисляем координаты с учетом разрешения экрана} x11: = GetMaxX div 60; x12: = GetMaxX div 3; y11: = GetMaxY div 4; y12: = 2*y11; R: = (x12-x11) div 4; x21: = x12*2; x22: = x21+x12-x11; {Рисуем окна} WriteLnt'ClipOn:':10,'ClipOff:':40); Rectangle(x11, y11, x12, y12); Rectangle(x21, y11 x22, y12); {Назначаем 1-е окно и рисуем четыре окружности} SetViewPort(x11, y11, x12, y12, ClipOn); for k: = 1 to 4 do Circle(0,y11,R*k); {Назначаем 2-е окно и рисуем окружности} SetViewPort(x21, y11, x22, y12, ClipOff); for k: = 1 to 4 do Circle(0,y11,R*k); {Ждем нажатия любой клавиши} if ReadKey=#0 then k: = ord(ReadKey); CloseGraph end end.
Процедура GetViewSettings
Возвращает координаты и признак отсечки текущего графического окна. Заголовок:
Procedure GetViewSettings(var Viewlnfo: ViewPortType);
Здесь Viewlnfo – переменная типа ViewPortType.
Этот тип в модуле Graph определен следующим образом:
type ViewPortType = record x1,y1,x2,y2: Integer; {Координаты окна} Clip: Boolean {Признак отсечки} end;
Процедура MoveTo
Устанавливает новое текущее положение указателя. Заголовок:
Procedure MoveTo(X,Y: integer);
Здесь X, Y – новые координаты указателя соответственно по горизонтали и вертикали.
Координаты определяются относительно левого верхнего угла окна или, если окно не установлено, экрана.
Процедура MoveRel
Устанавливает новое положение указателя в относительных координатах.
Procedure MoveRel(DX,DY: Integer);
Здесь DX.DY – приращения новых координат указателя соответственно по горизонтали и вертикали.
Приращения задаются относительно того положения, которое занимал указатель к моменту обращения к процедуре.