人民邮电出版社第十二章屏幕控制人民邮电出版社12.1文本模式12.2图形模式12.3常用绘图函数12.4图形方式下输出文本人民邮电出版社12.1文本模式12.1.1文本窗口窗口是屏幕上的一个矩形区域。窗口的大小和数量都是可变的。最大的窗口等于整个屏幕。窗口也可小到只能容纳几个字符。整个屏幕可看作是窗口的缺省值。人民邮电出版社12.1.2建立窗口下面介绍几个与窗口相关的、常用的屏幕处理函数。(1)清窗口函数clrscr()(2)光标定位函数gotoxy()(3)清除至行尾函数clreol()(4)删除文本行函数delline()和插入文本行函数insline()人民邮电出版社12.1.3建立窗口函数window()上面的两个例子使用的是缺省窗口。用window()函数可以在屏幕的任何位置建立任意尺寸的窗口。此函数的原形为:voidwindow(intleft,inttop,intright,intbottom);其中前两个参数(left和top)是窗口的左上角的坐标,后两个参数(right,和bottom)是窗口的右下角的坐标。人民邮电出版社12.1.4窗口I/O函数TurboC++的函数库中,有一些专门用于窗口的I/O函数。使用这些函数时,文本能自动在窗口边界处换行。表12.1.1列出了一些文本I/O函数。人民邮电出版社表12.1.1函数功能cprintf()格式化输出到活动窗口cputs()将一字符串写到活动窗口putch()输出一字符到活动窗口getche()从控制台输入一个字符到活动窗口cgets()从控制台输入一个字符串到活动窗口表12.1.1人民邮电出版社12.1.5文本的几种不同模式1.文本模式的设置到目前为止,我们使用的是缺省视频模式,即一般的25行80列的文本模式。2.文本颜色的设置配有彩色监视器和彩色图形视频适配器时,可用不同的颜色显示文本。函数textcolor()可以用来设置文本的前景颜色。这个函数也能使文本闪烁。textcolor()函数的原型为:voidtextcolor(intcolor);人民邮电出版社12.2图形模式12.2.1初始化视频适配器图形模式设置函数为initgraph(),它的原型是:voidinitgraph(intfar*driver,intfar*mode,charfar*path);initgraph()函数的作用是装入一个图形驱动程序,用来初始化图形系统,并将系统设置成图形模式。人民邮电出版社12.2.2退出图形模式停止使用图形模式返回文本模式是用restorecrtmode()函数或closegraph()函数完成的。它们的原型为:voidfarrestorecrtmode(void);voidfarclosegraph(void);人民邮电出版社12.3常用绘图函数12.3.1图形窗口—视区1.视区所有的图形函数都是对窗口进行操作的。图形窗口叫做视区。视区与文本窗口的区别,只是视区的左上角坐标是(0,0),而文本窗口左上角的坐标则是(1,1)。2.建立视区人民邮电出版社3.获取视区的尺寸视区的大小可用函数getviewsettings()得到。该函数的原形为:voidgetviewsettings(structviewporttypefar*info);参数viewporttype在头文件graphics.h中的定义如下:structviewporttype{intleft,top,right,bottom;intclipflag;}人民邮电出版社12.3.2基本图形函数1.画点、线、圆和矩形框的函数画点、线和圆的函数分别是putpixel(),line()和circle()。它们的原型为:voidfarputpixel(intx,inty,intcolor);voidfarline(intstartx,intstarty,intendx,intendy);voidfarcircle(intx,inty,intradius);voidfarrectangle(intleft,inttop,intright,intbottom);人民邮电出版社2.图形颜色的设置缺省绘图色为白色。可用函数setcolor()设置当前的绘图颜色。此函数的原型为:voidfarsetcolor(intcolor);人民邮电出版社3.封闭图形的着色一个封闭的图形,可以用floodfill()函数涂上所希望的颜色。这个函数的原型为:voidfarfloodfill(intx,inty,intbordercolor);用函数setfillstyle()可以改变填充图形的模式。函数的原型为:voidfarsetfillstyle(intpattern,intcolor);人民邮电出版社12.4图形方式下输出文本12.4.1文本函数在图形方式下往屏幕上写字符,是通过一些库函数实现的。这里介绍两个函数outtext()和outtextxy()。它们的原型为:voidfarouttext(charfar*textstring);voidfarouttextxy(intx,inty,charfar*texstring);人民邮电出版社12.4.2图形文本的样式利用函数settextstyle()可以设置图形文本的字体,显示的走向(水平或垂直)和字符的大小。函数的原型为:voidfarsettextstyle(intfont,intdirection,intcharsize);