- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
该函数的原型在conio.h。中函数中形式参数left和top是窗口左上角的坐标,right和bottom是窗 口的右下角坐标,其中(left,top)和(right,bottom)是相对于整个屏幕而言的。Turbo C2.0规定整个 屏幕的左上角坐标为(1,1),右下角坐标为(80,25)。并规定水平方向为X轴,方向自左向右;沿垂直 方向为Y轴,方向自上至下。 注意:
}程序运行结果如图18.1所示:
图18.1 输出文本
实例2 以阶梯状输出文本,要求绿底黄字
本例实现以阶梯状输出字符串,要求绿底黄字。
#include <stdio.h> #include <conio.h> main() { int i; char c[]="abcdefghijklmnopqrstu"; clrscr(); textbackground(GREEN);/* 设置屏幕背景色 */ window(5, 5, 35, 25); /* 定义文本窗口 */ textcolor(14);/* 定义窗口背景色 */ for(i=0;i<21;i++) { gotoxy(i,i); putch(c[i]); /*在指定位置输出字符*/ }
参数color为要设置的字符的颜色。
有关颜色的定义如表18.1所示:
表18.1 颜色的相关属性
符号常数 BLACK
数值 0
含义 黑
字符或背景 两者均可
BLUE
1
蓝
两者均可
GREEN
2
绿
两者均可
CYAN
3
青
两者均可
RED
4
红
两者均可
MAGENTA
5
洋红
两者均可
BROWN
6
棕
两者均可
LIGHTGRAY
7
该函数的作用是清除当前窗口中从光标位置到行尾的所有字符,光标位置不变。 光标定位函数,其一般形式如下:
void gotoxy(x,y);
该函数在文本状态下经常用到,其作用是将字屏幕上的光标移到当前窗口指定的位置上。这里x,y是 指光标要定位处的坐标,当x,y超出了窗口的大小时,该函数就不起作用了。 注意: gotoxy函数中的参数x和y是相对于窗口来说的。 插入空行函数,其一般形式如下:
void insline(void);
该函数的作用是插入一空行到当前光标所在行上,同时光标以下的所有行都向下顺移一行。 删除一行函数,其一般形式如下:
void delline(void);
删除当前窗口内光标所在行,同时把该行下面所有行都上移一行。 拷进文字函数,其一般形式如下:
int gettext(int xl, int yl, int x2, int y2, void *buffer);
淡灰
两者均可
DARKGRAY
8
深灰
只用于字符
LIGHTBLUE
9
淡蓝
只用于字符
LIGHTGREEN
10
淡绿
只用于字符
LIGHTCYAN
11
淡青
只用于字符
LIGHTRED
12
淡红
只用于字符
LIGHTMAGENTA
13
淡洋红
只用于字符
YELLOW
14
黄
只用于字符
WHITE15Fra bibliotek白只用于字符
注意:
BLINK
int getche(void);
getche()函数的作用是从键盘上获取一个字符。
掌握屏幕操作函数
清屏函数,其一般形式如下:
void clrscr(void);
该函数的作用是清除当前窗口中的文本内容,并把光标定位在窗口的左上角(1,1)处。 清除行尾字符函数,其一般形式如下:
void clreol(void);
制作文本窗口
本讲大纲
1.定义文本窗口 2.设置窗口颜色 3.文本的输入和输出 4.掌握屏幕操作函数 实例1 输出hello world 实例2 以阶梯状输出文本,要求绿底黄字 实例3 movetext函数应用
定义文本窗口
字符屏幕的核心是窗口(Window),它是屏幕的活动部分,共有80列25行的文本单元,字符输出或显 示在活动窗口中进行。窗口在缺省时,就是整个屏幕。窗口可以根据需要指定其大小。
int puttext(int x1, int y1, int x2, int y2, void *buffer);
该函数的作用是把先前由gettext()保存到buffer指向的内存中的文字拷出到屏幕上一个矩形区域中。 参数x1和y1为矩形左上角坐标,x2和y2为矩形右下角坐标。Buffer为指向内存中存储矩形区域的指针。 移动文字函数,其一般形式如下:
}程序运行结果如图所示:
实例3 movetext函数应用
#include <stdio.h> #include <conio.h> main() { int i; char c[]="abcdefghijklmnopqrstu"; clrscr(); textbackground(GREEN);/* 设置屏幕背景色 */ window(5, 5, 35, 25);/* 定义文本窗口 */ textcolor(14);/* 定义窗口背景色 */ for(i=0;i<21;i++) { gotoxy(i,i); putch(c[i]); } /*将左上角(5,5)右下角(10,10)文本在左上角为(30,10)的位置输出*/ movetext(5,5,10,10,30,10);
gettext函数是将屏幕上指定的矩形区域内文本内容存入buffer指针指向的一个内存空间。参数x1和 y1为矩形左上角坐标,x2和y2为矩形右下角坐标。内存的大小用下式计算: 所用字节大小=矩形区域的行数*矩形区域的列数*2 其中: 矩形区域行数=y2-y1+1 矩形区域列数=x2-x1+1 拷出文字函数,其一般形式如下:
实例1 输出hello world
在指定区里输出hello world,要求绿底黄字。
#include <stdio.h> #include <conio.h> main() { char c[]="hello world"; textbackground(2);/* 设置屏幕背景色*/ window(5, 5, 35, 25);/* 定义文本窗口*/ textcolor(14);/* 设置输出字符颜色*/ cputs(c); /*输出字符串*/
conio.h中。
设置窗口颜色
文本窗口颜色的设置包括背景颜色的设置和字符颜色的设置,设置背景颜色的函数的一般形式如下:
void textbackground(int color);
参数color为要设置的背景的颜色。
设置字符颜色的函数的一般形式如下:
void textcolor(int color);
int movetext(int x1,int x2,int y2,int x3,int y3);
movetext()函数将屏幕上左上角为(x1,y1),右下角为(x2,y2)的一矩形窗口内的文本内容复制到 左上角为(x3,y3)的新的位置。该函数的坐标也是相对于整个屏幕而言的。 说明:
movetext()函数是复制而不是移动窗口区域内容,当使用该函数以后,原位置区域的文本内容不会消 失,仍然存在。
int cputs(char *string);
cputs()函数输出一个字符串到屏幕上, 它与puts()函数用法完全一样,只是受窗口大小的限制。 字符输出函数
int putch(int ch);
putch()函数输出一个字符到窗口内。 说明:
使用以上几种函数,当输出超出窗口的右边界时会自动转到下一行的开始处继续输出。当窗口内 填满内容仍没有结束输出时,窗口屏幕将会自动逐行上卷直到输出结束为止。 2.窗口内文本的输入函数 字符输入函数的一般形式如下:
若window函数中的坐标超过了屏幕坐标的界限,则窗口的定义就失去了意义,也就是说定义将不 起作用。 如要定义一个窗口左上角在屏幕(5,5)处,大小为30列20行的窗口可写成:
window(5,5,35,25);
说明: windows函数的原型在头文件conio.h中,本文中介绍的文本窗口中的所有函数原型都在头文件
编写绘图程序经常要用到对字符屏幕进行操作。Turbo C2.0可以定义屏幕上的一个矩形域作为窗 口,使用window()函数定义。窗口定义之后,用有关窗口的输入输出函数就可以只在此窗口内进行操 作而不超出窗口的边界。 window函数的一般形式如下:
void window(int left, int top, int right, int bottom);
}程序运行结果如图所示:
128
闪烁
只用于字符
背景只有0到7共八种颜色,当取大于7小于15的数,则代表的颜色与减7后的值对应的颜色相同。
文本的输入和输出
1.窗口内文本输出函数 格式输出函数
int cprintf(“格式化字符串”,变量表列);
cprintf()函数输出一个格式化的字符串或数值到窗口中。它与printf()函数的用法完全一样, 区别在于cprintf()函数的输出受窗口限制,而printf()函数的输出为整个屏幕。 字符串输出函数