当前位置:文档之家› C语言程序设计第十章

C语言程序设计第十章


(6)int movetext(int x1, int y1, int x2, int y2, int x3, int y3);
功能:将坐标为(x1, y1)、(x2, y2)矩形区域内的文本拷贝到左上 角坐标为(x3, y3)的新位置处。
10.1 字符屏幕操作函数
10.1.3 窗口内的文本输入输出和其他屏幕操作函数
1.窗口内文本的输出函数:
(1)int cprintf("格式化字符串", <变量表>); 功能:按照“格式化字符串”的格式输出“变量表”中对应的变量。
(2)int cputs(char *string);
功能:在当前位置输出字符串string。 (3)int putch(int ch); 功能:在当前位置输出一个字符ch。
10.1 字符屏幕操作函数
window(21+i*5, 5+i, 40+i*5, 14+i); /*定义窗口*/ textbackground(i); /*设置背景颜色为i对应的值*/ clrscr(); /*窗口背景变为i对应的颜色*/ textcolor(15-i); /*在窗口中定义字符的颜色*/ cputs("Windows-"); /*输出Windows-*/ putch(72-i); /*分别输出ABCDEFG*/
10.1 字符屏幕操作函数
内存空间的计算方法如下:
所用字节数=行数×列数×2(行数=y2-y1+1;列数=x2-x1+1)
(5)int puttext(int x1, int y1, int x2, int y2, void*buffer); 功能:将gettext()存入内存buffer中的文本内容输出到指定位置 上。 说明: gettext()函数和puttext()函数的坐标参数是对整个屏幕而言的, 即为屏幕的绝对坐标。
第10章
C语言屏幕操作函数及应用
本章要点: 字符方式下的屏幕编程 图形方式下的屏幕编程
10.1 字符屏幕操作函数
显示器有两种工作方式,文本方式和图形方式。缺省显示为文 本方式。在文本方式下,整个屏幕就像稿纸一样被划分成一个个大 小相等的单元,每单元只能显示一个字符。屏幕最常见的划分标准 是25行*80列。在这种方式下,屏幕左上角坐标为(0,0),右下角坐标 为(79, 24),显示器的坐标系如图10-1所示。Turbo C以函数方式提 供对屏幕的操纵和控制,字符屏幕函数主要用于设定文本窗口的大 小、颜色、内容的清除和输入、输出等。

红 洋红 棕 淡灰 深灰
均可
均可 均可 均可 均可 均可
LIGHTRED
LIGHTMAGENTA YELLOW WHITE BLINK
12
13 14 15 128
淡红
淡洋红 黄
10.1 字符屏幕操作函数
表格中的符号常数或对应的数值即为函数中color值,编程时两者 等价。例如,将窗口的背景设为淡蓝色可以用:textbackground(9)或 textbackground(LIGHTBLUE)。 从表中可看出,背景颜色只有0到7八种。设定好背景和字符颜色 后,对屏幕上原有的内容无影响,只对后面的输出起作用。颜色的定 义见表10-1所示。 【例10.1】利用蓝、绿、青、红、洋红、棕、淡灰为背景色,在屏 幕上画出7个大小为20列,10行的窗口。 #include<conio.h> main() { int i; textbackground(0); /*设置背景颜色为黑色*/ clrscr(); /*以黑色清除屏幕*/ for(i=1;i<8;i++) {
10.1 字符屏幕操作函数
表10-1 窗口颜色列表
符号常数 BLACK 数值 0 1 2 颜色 黑 蓝 绿 字符/背景 均可 均可 均可 符号常数 LIGHTBLUE LIGHTGREEN LIGHTCYAN 数值 9 10 11 颜色 淡蓝 淡绿 淡青 字符/背景 字符 字符 字符
3
4 5 6 7 8
10.1 字符屏幕操作函数
10.1.1 定义文本窗口 文本窗口在屏幕上是一个矩形区域,其大小和位置由其左上角和 右下角的坐标决定。函数的定义格式为: void window(int x1, int y1, int x2, int y2); 参数(x1, y1)和(x2, y2)分别为窗口的左上角和右下角的坐标,x代 表列坐标,y代表行坐标。例如,定义一个窗口,左上角坐标为(31, 4),右下角坐标为(60, 23)。函数的调用格式为:window(31, 4, 60, 23); 注:该函数原型在conio.h中定义。 10.1.2 设置文本窗口颜色 文本窗口的颜色包括字符颜色和背景颜色,设置所用的函数是: 设置背景颜色:void textbackground(int color); 设置字符颜色:void textcolor(int color);
10.1 字符屏幕操作函数
2.窗口内文本的输入函数及其他屏幕操作函数 (1)int getch(void); 功能:从键盘上输入一个字符。 (2)void clrscr(); 功能:用背景色清除当前窗口中的内容,光标定位在窗口的左 上角处。
(3)void gotoxy(x, y);
功能:将光标定位在窗口内坐标为(x, y)处。当x,y的值超出了 窗口的大小时,该函数不起作用。 (4)int gettext(int x1, int y1, int x2, int y2, void*buffer); 功能:将指定窗口内的文本内容存入buffer指针指向的内存区。
} getch(); } 该程序在7个窗口中,以14到8的颜色值显示Windows-A到G。 函数putch(72-i)的作用是将以72-i值为ASCII码的字符显示在窗口中, i从1变化到7,对应的字符分别为G, F, E, D, C, B, A。运行效果如图 10-2所示。从本例可以看到,DOS下的窗口与常见的Windows窗口 有着相当大的区别:没有边界和位置等标志!边界只在输入输出时 才可表现出来。
相关主题