Иллюстрированный самоучитель по Tirbo Pascal



              

Координаты, окна, страницы - часть 2


Uses Graph,CRT; 

var

x,y,e: Integer;

xll,yll,xl2,yl2, {Координаты 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- приращения новых координат указателя соответственно по горизонтали и вертикали.




Содержание  Назад  Вперед