、字符屏幕函数
1、文木窗口的定义
TC默认定义的文本窗口为整个屏幕,共有80列(或40列)25行的文本单元,每个单元包括一个字 符和一个屈性,字符即ASCII码,属性规定该字符的颜色和强度。在TCH' nJ-以使用window()函数定义屏 幕上的一个矩形域作为窗口。窗口定义Z后有关窗口的输入输出函数就可以只在此窗口内进行操作而不超 出窗口的边界。
其调川格式:void window (int left,int top,int right,int bottom);
该函数的原型在conio.h屮。函数屮形式参数(inf left,int top)是窗口左上介的坐标,(int right,int bottom) 则是窗口右下角的坐标。TC规定整个屏幕的左上角坐标为(1,1),右下角坐标为(80,25),如:
window(20,5,50,20)衣示定义一个窗口左上角在屏幕(20,5)处,大小为30列15行的窗口。
2、文本窗口颜色的设置
文木窗口颜色的设置包括背景颜色的设置和字符颜色的设置,使川的函数及其调川格式为: 设置背景颜色:void textbackground(int color);
设置字符颜色:void textcolor(int color);
其颜色的定义见表:
符号常数
数值
含义
字符或背景
BLACK
八、、
两者均可
BLUE
1
蓝
两者均可
GREEN
2
绿
两者均可
CYAN
3
青
两者均可
RED
4
红
两者均可
MAGENTA
5
洋红
两者均可
BROWN
6
棕
两者均可
LIGHTGRAY
7
淡灰
两者均可
DARKGRAY
8
深灰
只用于字符
LIGHTBLUE
9
淡蓝
只用于宁符
LIGHTGREEN
10
淡绿
只用于字符
LIGHTCYAN
11
淡青
只用于字符
LIGHTRED
12
淡红
只川于字符
LIGHTMAGENTA
13
淡洋红
只川于字符
YELLOW
14
黄
只用于字符
WHITE
15
白
只用于字符
BLINK
128
闪烁
只川于字符
3、窗口内文本的输入、输出函数
窗口内文本的输出函数
int cprin(f(“v格式化字符串>”,v变量列表>);
int cputs(chai* *string);
int putch(int ch);
cprintf()函数输出一个格式化的字符串或数值到窗口中。它与printf()换数的用法完全一样,区别就 在于cprintf()函数的输出受窗口限制,而printf()函数的输出为整个屏幕。
cputs()函数输出一个字符串到屏幕上,它与puts()函数用法完全一样,只是受窗口大小的限制。 putch()函数输出一个字符到窗口内。
注意:使用以上儿种函数吋,当输出超出窗口的右边界吋会自动转到下一行的开始处继续输出。当 窗口内填满内容仍没有结束输出时,窗口屏幕将会白动逐行上卷,直到输出结束为止。
窗口内文木的输入函数
int getche(void);该函数无须按冋车键就可以从键盘上获得一个字符,在屏幕上显示的时候,如果字符 超过了窗口右边界,则会被口动转移到下一行的开始位置。
4、有关屏幕操作的函数
void clrscr(void);清除当前窗口中的文本内容,并把光标定位在窗口的左上角(1, 1)处。
void clreol(void):清除当前窗口中从光标位置到行尾的所有字符,光标位置不变。
void gotoxy(x,y);该函数川来定位光标在当前窗口屮的位置。这电x, y是指光标要定位处的坐标(相 对于窗口而言),当x, y超出了窗口的人小时,该函数就不起作川了。
int gettext(int xl,int yl,int x2,int y2,void * buffer);
int puttext(int xl,int yl,int x2,int y2,void ^buffer);
gettext()函数是将屏幕上指定矩形区域内的文本内容存入buffer指针指向的一个内存空间。内存的大 小用下式计算:所用字节大小二行数*列数*2。其中,行数=y2-yl+l,列数=x2-xl+l; puttext()函数是将用 gettext()函数存入内存buffer中的文字内容拷贝到屏幕上指定的位置。
int movctcxt(inl xl,inl yl,inl x2,int y2,int x3,int y3);
movctcxK )函数将屏幕上左上角为(xl,yl),右下角为(x2,y2)的一矩形窗口内的文本内容拷贝到左 上角为(x3,y3)的新位置。该函数的坐标也是相对于整个屏幕而言的。
注意:gettext( )|^|数和puttext( )|^|数中的坐标是相对整个屏幕而言的,即是屏幕的绝