Координаты, окна, страницы
Процедура SetAspectRatio
Устанавливает масштабный коэффициент отношения сторон графического экрана. Заголовок:
Procedure SetAspectRatio(X,Y: Word);
Здесь X, Y – устанавливаемые соотношения сторон.
Следующая программа строит 20 окружностей с разными соотношениями сторон экрана (рис. 14.3).
Рис. 14.3. Окружности при разных отношениях сторон экрана:
Uses Graph,CRT; const R =.50; dx = 1000; var d,m,e,k: Integer; Xasp,Yasp: Word; begin d: = Detect; InitGraph(d, m,.''); e: = GraphResult; if e <> grOk then WriteLn(GraphErrorMsg(e)) else begin GetAspectRatio(Xasp, Yasp); for k: = 0 to 20 do begin SetAspectRatio(Xasp+k*dx,Yasp); Circle(GetMaxX div 2,GetMaxY div 2,R) end; if ReadKey=#0 then k: = ord(ReadKey); CloseGraph end end.
Процедура SetActivePage
Делает активной указанную страницу видеопамяти. Заголовок:
Procedure SetActivePage(PageNum: Word);
Здесь PageNum – номер страницы.
Процедура может использоваться только с адаптерами, поддерживающими многостраничную работу (EGA, VGA и т.п.). Фактически процедура просто переадресует графический вывод в другую область видеопамяти, однако вывод текстов с помощью Write/WriteLn всегда осуществляется только на страницу, которая является видимой в данный момент (активная страница может быть невидимой). Нумерация страниц начинается с нуля.