ВУЗ:
Составители:
Рубрика:
47
47
ClipOff = False. В первом случае, содержимое экрана за пределами созданного
окна отсекается (т.е. становится невидимым), а во втором - не отсекается.
Для очистки созданного графического окна используется процедура
ClearViewPort.
Для определения координат текущего графического окна используется
процедура GetViewSettings(ViewInfo), где ViewInfo - переменная типа
ViewPortType, описанного в модуле Graph:
Type
ViewPortType = Record
X1, Y1, X2, Y2 : Integer;
Clip : Boolean;
End;
Некоторые адаптеры, в том числе VGA, EGA, поддерживают
многостраничную работу. Нумерация страниц начинается с нулевой.
Вывод производится на так называемую активную страницу. Процедура
SetActivePage(Num) делает активной страницу с номером, задаваемым
переменной типа word - Num. Если при инициализации вы используете
автоопределение графического драйвера (detect), то устанавливается режим
работы с максимально возможным номером. Для обеспечения работы с двумя
страницами нужно уменьшить номер режима, воспользовавшись
процедурой
SetGraphMode(Gr_Mode-1). Gr_Mode - переменная, задающая режим в вызове
процедуры InitGraph.
Для просмотра какой-либо страницы необходимо сделать ее активной с
помощью процедуры SetVisualPage(Num). Num - номер активной страницы.
Пример работы с двумя страницами иллюстрирует следующая программа.
В ней на страницу с номером 0 выводится залитый прямоугольник и сообщение о
том, что это нулевая страница, а на
первую страницу выводится залитый эллипс.
Uses CRT, Graph;
Var Gr_Driver, Gr_Mode : Integer; Xc, Yc :integer;
Begin
Gr_driver:=Detect; InitGraph(Gr_Driver, Gr_Mode, '');
SetGraphMode(Gr_Mode-1); {Уменьшение номера режима для
обеспечения возможности доступа к нулевой странице}
SetFillStyle(1,14); {Установка стиля заливки}
Xc:= GetMaxX div 2; Yc:= GetMaxY div 2; {Координаты центра экрана}
{Вывод на 0 страницу}
Bar(Xc-200, Yc-90, Xc+200, Yc+90);
Setcolor(1);
OuttextXY(Xc-50,Yc,' Page 0 - Press enter');
SetActivePage(1); {Активизация страницы 1}
{Вывод на 1 страницу}
SetFillStyle(1,7); {Установка стиля заливки}
FillEllipse(Xc, Yc, 200,100);
OuttextXY(Xc-50,Yc,' Page 1 - Press enter');
47
ClipOff = False. В первом случае, содержимое экрана за пределами созданного
окна отсекается (т.е. становится невидимым), а во втором - не отсекается.
Для очистки созданного графического окна используется процедура
ClearViewPort.
Для определения координат текущего графического окна используется
процедура GetViewSettings(ViewInfo), где ViewInfo - переменная типа
ViewPortType, описанного в модуле Graph:
Type
ViewPortType = Record
X1, Y1, X2, Y2 : Integer;
Clip : Boolean;
End;
Некоторые адаптеры, в том числе VGA, EGA, поддерживают
многостраничную работу. Нумерация страниц начинается с нулевой.
Вывод производится на так называемую активную страницу. Процедура
SetActivePage(Num) делает активной страницу с номером, задаваемым
переменной типа word - Num. Если при инициализации вы используете
автоопределение графического драйвера (detect), то устанавливается режим
работы с максимально возможным номером. Для обеспечения работы с двумя
страницами нужно уменьшить номер режима, воспользовавшись процедурой
SetGraphMode(Gr_Mode-1). Gr_Mode - переменная, задающая режим в вызове
процедуры InitGraph.
Для просмотра какой-либо страницы необходимо сделать ее активной с
помощью процедуры SetVisualPage(Num). Num - номер активной страницы.
Пример работы с двумя страницами иллюстрирует следующая программа.
В ней на страницу с номером 0 выводится залитый прямоугольник и сообщение о
том, что это нулевая страница, а на первую страницу выводится залитый эллипс.
Uses CRT, Graph;
Var Gr_Driver, Gr_Mode : Integer; Xc, Yc :integer;
Begin
Gr_driver:=Detect; InitGraph(Gr_Driver, Gr_Mode, '');
SetGraphMode(Gr_Mode-1); {Уменьшение номера режима для
обеспечения возможности доступа к нулевой странице}
SetFillStyle(1,14); {Установка стиля заливки}
Xc:= GetMaxX div 2; Yc:= GetMaxY div 2; {Координаты центра экрана}
{Вывод на 0 страницу}
Bar(Xc-200, Yc-90, Xc+200, Yc+90);
Setcolor(1);
OuttextXY(Xc-50,Yc,' Page 0 - Press enter');
SetActivePage(1); {Активизация страницы 1}
{Вывод на 1 страницу}
SetFillStyle(1,7); {Установка стиля заливки}
FillEllipse(Xc, Yc, 200,100);
OuttextXY(Xc-50,Yc,' Page 1 - Press enter');
47
Страницы
- « первая
- ‹ предыдущая
- …
- 45
- 46
- 47
- 48
- 49
- …
- следующая ›
- последняя »
