c语言教程中textcolor和textattr具体怎么用的,能否给一个完整的代码

C语言图形编程(一、字符屏幕)-- 氵冗黑犬-- 编程爱好者博客
快捷域名:
C语言图形编程(一、字符屏幕)
作者:unknown 更新时间:
&一、屏幕操作函数&&&&&1. clrscr()清除字符窗口函数&&&& 2. window()字符窗口函数&&&& 3. gotoxy()光标定位函数&&&& 4. clreol() 清除光标行尾字符函数&&&& 5. insline() 插入空行函数&&&& 6. delline() 删除一行函数&&&& 7. gettext() 拷进文字函数&&&& 8. puttext() 拷出文字函数&&&& 9. movetext() 移动文字函数&二、字符属性函数&&&&10. textmode() 文本模式函数&&&&& 11. highvideo()高亮度函数&&&& 12. lowvideo()&低亮度函数&&& 13. normvideo(void);&&& 14. textcolor() 文本颜色函数&&& 15. textattr() 文本属性函数&&& 16.textbackground() 文本背景函数三、 屏显状态函数&&& 17. wherex() 光标处x坐标函数&&& 18. wherey() 光标处y坐标函数&&& 19. gettextinfo()&获取文本窗口信息函数&&& 在Borland C++里面提供了字符屏幕和图形函数。字符屏幕的核心是窗口(Window),它是屏幕的活动部分,字符输出或显示在活动窗口中进行。窗口在缺省时,就是整个屏幕。窗口可以根据需要指定其大小。同样,对图形函数的操作,也提供了(Viewport)。也就是说图形函数的操作都是在视口上进行。图形视口与字符窗口具有相同的特性,用户可以在屏幕上定义大小不同的视口,若不定义视口大小,它就是整个屏幕。&&& 窗口是在字符屏幕下的概念,只有字符才能在窗口中显示出来,这时用户可以访问的最小单位为一个字符。视口是在图形屏幕状态下的概念,文本与图形都可以在视口上显示,用户可访问的最小单位是一个像素(像素这一术语最初用来指显示器上最小的、单独的发光点单元。然而现在,其含义拓宽为指图形显示器上的最小可访问点)。&&& 字符和图形状态下,屏幕上的位置都是由它们的行与列所决定的。有一点须指出:字符状态左上角坐标为(1,1),但图形左上角坐标为(0,0)。&&& 了解字符屏幕和图形函数与窗口和视口的关系是很重要的。例如,字符屏幕 光标位置函数gotoxy()将光标移到窗口的x,y位置上,这未必是相对于整个屏幕。下面介绍常用的几类字符屏幕函数的功能用途、操作方法及其例行程序。一、屏幕操作函数&&& 编写程序绘图经常要用到对字符屏幕进行操作。例如,在往屏幕上写字符之前,首先要将屏幕清除干净。又如,有时需要在屏幕上多处写上肉中刺样的字符内容,这时最好用屏幕拷贝来高效率地完成这一任务。对这些操作,Borland C++提供了一系列字符屏幕操作函数来实现。1. clrscr()清除字符窗口函数功能:函数clrscr()清除整个当前字符窗口,并且把光标定位于左上角(1,1)处。用法:此函数调用方式为 void clrscr(void);说明:括号中void 表示无参数。&&&&& 该函数相应的头文件为conio.h返回值:无例:使用这个函数的例子见4.clreol()函数的实例中。2. window()字符窗口函数功能: 函数window()用于在指定位置建立一个字符窗口。用法: 此函数调用方式为 void window(int left,int top,int right,int bottom);说明: 函数中参数left,top为窗口左上角坐标;right,bottom为其右下角坐标。&&&&&& 若有一个坐标是无效的,则window()函数不起作用。一旦该函数调用成功,那么所有定位坐标都是相对于窗口的,而不是相对于整个屏幕。但是建立窗口所用的坐标总是相对整个屏幕的绝对坐标,而不是相对当前窗口的相对坐标。这样用户就可以根据各种需要建立多个互不嵌套的窗口。&&&&&&&此函数的头文件为conio.h。返回值:无例: 调用这个函数的实现例见3.gotoxy()函数的例子中。3. gotoxy()光标定位函数功能: 函数gotoxy()将字屏幕上的光标移到当前窗口指定的位置上。用法: 这个函数调用方式为void gotoxy(int x,int y);说明: 括号里x,y是, 光标定位的坐标,如果其中一个坐标值无效(如坐标超界),那么光标不会移动。&&&&&&&此函数在字符状态(有时称为文本状态)下经常用到 ,其相应的头文件为conio.h返回值:无例: 下面程序建立两个窗口,然后在窗口里显示字符,字符的位置是调用该函数确定的。#include"conio.h&void border(int startx,int starty,int endx,int endy){&&&& gotoxy(1,1);&& for(i=0;i&=endx-i++)&&&&& putch('-');&& gotoxy(1,endy-starty);&& for(i=0;i&=endx-i++)&&&&& putch('-');&& for(i=2;i&=endy-i++){&&&&& gotoxy(1,i);&&&&& putch('1');&&&&& gotoxy(endx-startx+1,i);&&&&& putch('1');&& }}main(){&& void border(int,int,int,int);&& clrscr();&& window(6,8,38,12);&& border(6,8,38,12);&& gotoxy(2,2);&& printf("window 1");&& window(8,16,40,24);&& border(8,16,40,24);&& gotoxy(3,2);&& printf("window 2");&& getch();}4. clreol() 清除光标行尾字符函数功能: 函数clreol()在当前字符窗口中清除从光标位置到行尾的所有字符,而光标位置保持不变。用法: 它的调用方式为void clreol(void);说明: 此函数的相应头文件为 conio.h返回值:无例: 程序中使用了函数clreol()和clrscr()#include "conio.h&void main(){&&&& gotoxy(6,8);&& printf("This is a test of the clreol() function.");&& getch();&& gotoxy(6,8);&& clreol();&& for(i=0;i&20;i++)&&&&& printf("Hello\n");&& getch();&& clrscr();}5. insline() 插入空行函数功能: 函数insline()插入一空行到当前光标所在行上,同时光标以下的所有行都向下顺移一行。用法: 此函数的调用方式为void insline(void);说明: 该函数只用于文本方式,并且在当了符窗口才有效。&&&&&& 这个函数的对应头文件是 conio.h返回值:无例: 程序给出了insline()函数的用法。#include "conio.h"void main(){&&&& clrscr();&& for(i=1;i&24;i++)&& {&&&&& gotoxy(1,i);&&&&& printf("This is line %d\n",i);&& }&& getch();&& gotoxy(1,10);&& insline();&& getch();}6. delline() 删除一行函数功能: 函数delline()删除当前窗口内光标所在行,同时把该行下面 所有行都上移一行。用法: 此函数调用方式为 void delline(void);说明: 注意,如果当前窗口小于整个屏幕,那么该函数只影响到窗口内的字符。&&&&&& 这个函数相应的头部文件是conio.h返回值: 无例:先在屏幕上显示16行文字,然后删除第4行#include "conio.h"void main(){&&&&&clrscr();&&&for(i=0;i&16;i++) printf("line %d\n",i);&&&getch();&&&gotoxy(1,4);&&&delline();&&&getch();}7.gettext() 拷进文字函数功能: 函数gettext()用于文本状态下将屏幕上矩形域内的文字拷进内存。用法: 该函数调用方式为 int gettext(int left,int top,int right,int bottom,void *buffer);说明: 函数中参数left,top为矩形区域的左上角坐标,right,bottom为其右下角坐标,这些坐标是屏幕的绝对坐标,不是窗口的相对坐标。buffer指针必须指向一个足够保存该矩形域内文字的内存。所用内存大小按下式计算:&&&点头用字节数=矩形哉内的行数×矩形域的列数×2这里将行数乘以列数再乘以2的原因是保存屏幕上每个字符要用两个字节存储单元,一个字节存储单元存放字符本身,而另一个存放其属性。此函数相应的头文件是 conio.h返回值:&若函数调用成功则返回1,否则返顺0。例: 把屏幕左上角点(1,1)和右下角点(10,10)的区域拷贝到buf指向的内存中去。&&&buf=(char *)malloc(10*10*2);&&&if(!buf)gettext(1,1,10,10,buf);8. puttext() 拷出文字函数功能: 函数puttext()把先前由gettext()保存到buffer指向的内存中的文字拷出到屏幕上一个矩形区域中。用法: 此函数调用方式为 int puttext(int left,int top,int right,int bottom,void *buffer);说明: 函数里left,top为给出的屏幕上矩形区域的左上角点,right,bottom为其右下角点,其坐标是用屏幕的绝对坐标,而不是用窗口的相对坐标。&&&该函数相应的头文件为conio.h返回值: 函数调用成功返回值为1,否则返回0。例: 屏幕上某个区域内容拷进buf指向的内存中,然后又将这些文字拷出到屏幕上新位置。&&&buf=(char *)malloc(10*10*2);&&&gettext(1,1,10,10,buf);&&&puttext(16,16,30,30,buf);9. movetext() 移动文字函数功能: 函数movetext()将屏幕上一个矩形区域的文字移到另一个区域上。用法: 该函数调用方式为 int movetext(int left,int top,int right,int bottom,int newleft,int newtop);说明: 上面left,top为矩形区域上角坐标,right,bottom为其右下角坐标,newleft,newright为移动到区域左上角坐标。这些坐标是屏幕的绝对坐标,不是窗口的相对坐标。&&&若要把屏幕上一段文字移到屏幕的另一位置,那么使用movetext()函数比用gettext()然后再用puttext()效率更高。&&&此函数相应的头文件是conio.h返回值: 如果有一个以上坐标无效,那么函数返回值为0,否则返回1。列: 把屏幕左上角点(8,8),右下角点(20,20)的矩形区域文字移动到左上角点(10,10)的位置上:&&&movetext(8,8,20,20,10,10);10. textmode() 文本模式函数功能: 函数textmode()针屏幕设置为文本模式(或者说字符状态)。用法: 函数调用方式为 void textmode(int mode);说明: 参数mode必须为表1-2中所示的模式之一⑴以用模式名(符号值),也可以用其等价的整数值。表1-2 文本模式----------------------------------------------------------------模式名(符号值)&&&&&&&&&等价整数值&&&&&&说&& 明BW40&&&&&&&&&&&&&&&&&&&&&&& 0&&&&&&&&& 40列黑白C 40&&&&&&&&&&&&&&&&&&&&&&& 1&&&&&&&&& 40列彩色BW80&&&&&&&&&&&&&&&&&&&&&&& 2&&&&&&&&&&80列黑白C 80&&&&&&&&&&&&&&&&&&&&&&& 3&&&&&&&&& 80列彩色MONO&&&&&&&&&&&&&&&&&&&&&&& 7&&&&&&&&& 80列单色LASTMODE&&&&&&&&&&&&&&&&&&&-1&&&&& &&&&上次模式----------------------------------------------------------------&& 调用该函数后,屏幕复位,并且所有字符的属性恢复其缺省值。&&&此函数对应的头文件是conio.h返回值: 无例: 把屏幕设置为80列彩色模式&&&textmode(C80);二、字符属性函数&& 用户可以设置字符显示的高亮度或低亮度的写的符闪烁及其背景颜色等。具有这些操作的函数称为字符属性函数。除了仅支持单模式和单色的显示卡外,字符属性函数适用于其余所有的显示卡。11. highvideo()高亮度函数功能: 函数highvideo()设置屏幕为高亮度显示。用法: 此函数调用方式为void highvideo(void);说明: 调用该函数后,写到屏幕上的字符是高亮度的。此函数只适用于文本模式状态(或说字符屏幕状态)。&&&这个函数对应的头文件为 conio.h返回值: 无例: 设置屏幕显示为高亮度的。&& highvideo();12. lowvideo()&低亮度函数功能: 函数lowvideo()设置屏幕为低亮度显示。用法: 该函数调用方式为void lowvideo(void);说明: 调用该函数后,此时写到屏幕上的字符是低亮度的。这个函数只适用于文本模式状态(或说字符屏幕状态)。&&&此函数相应的头文件是 conio.h返回值: 无例: 设置屏幕显示为低亮度的&&&lowvideo();13. normvideo(void);功能: 函数normvideo()设置屏幕为正常亮度显示。用法: 这个函数调用方式为void normvideo(void);说明: 调用该函数后,此时写到屏幕上的字符是正常亮度的,该函数只适用于文本模式状态(或说字符状屏幕状态)。&&&此函数相应的头文件为conio.h返回值: 无例: 设置屏幕显示为正常亮度。&&&normvideo();14. textcolor() 文本颜色函数功能: 函数textcolor()设置字符屏幕下文本颜色(或字符颜色),它也可以用于使字符闪烁。用法: 这个函数调用方式为void textcolor(int color);说明: 函数中参数color的有效值可取表1-3中的颜色名(即宏名)或等价值。表1-3 颜色名与等价值---------------------------------------------------&& 名&&&&&&&&&&等价值&&&&&&含 义BLACK&&&&&&&&&&&& 0&&&&&&&&& 黑BLUE&&&&&&&&&&&&& 1&&&&&&&&& 蓝GREEN&&&&&&&&&&&& 2&&&&&&&&& 绿CYAN&&&&&&&&&&&&&&3&&&&&&&&& 青RED&&&&&&&&&&&&&& 4&&&&&&&&& 红MAGENTA&&&&&&&&&&&5&&&&&&&&& 洋红BROWN&&&&&&&&&&&& 6&&&&&&&&& 棕LIGHTGRAY&&&&&&&& 7&&&&&&&&& 淡灰DRAKGRAY&&&&&&&&& 8&&&&&&&&& 深灰LIGHTBLUE&&&&&&&& 9&&&&&&&&& 淡蓝LIGHTGREEN&&&&&&&10&&&&&&&&& 淡绿LIGHTCYAN&&&&&&& 11&&&&&&&&& 淡青LIGHTRED&&&&&&&& 12&&&&&&&&& 淡红LIGHTMAGENTA&&&&&13&&&&&&&&& 淡洋红YELLOW&&&&&&&&&& 14&&&&&&&&& 黄WHITE&&&&&&&&&&& 15&&&&&&&&& 白BLINK&&&&&&&&&&&128&&&&&&&&& 闪烁------------------------------------------------------------textcolor()函数执行后,只影响其后输出探险符颜色,而不改变已经在当前屏幕上的其它字符颜色。显然,如果需要输出的字符闪烁,只要将函数中参数color取为BLINK即可,如果要使字符带颜色闪烁,就必须将所选的颜色值与128作“或”运算。&&&此函数相应的头文件是 conio.h返回值: 无例: 下面程序段中第一条语句使输出的字符闪烁,第三条语句使字符输出为经色同时闪烁:&&&textcolor(BLINK);&&&printf("hello");&&&textcolor(RED|BLINK);15. textattr() 文本属性函数功能: 函数textattr()用于设置文本属性,即字符背景颜色、字符本身颜色和字符闪烁与否。用法: 函数调用方式为void textattr(int attribute);说明: 设置字符背景颜色属性字节的最简单方法是,用所选的背景颜色值乘以16再与字符颜色值作按位或(OR)运算。例如需要红色背景、绿色字符,就设置成RED*16|GREEN,若还要字符闪烁,就把背景颜色值、字符颜色值与闪烁值一起按位作或运算。如蓝背景、黄字符且闪烁,就设置成为:&&&YELLO|128|BLUE*16&&&第0位用于设置字符颜色。&&&此函数相应的头文件为conio.h返回值: 无例: 设置背景为蓝色、字符为红色并且字符闪烁:&&&textattr(RED|128|BLUE*16);16.textbackground() 文本背景函数功能: 函数textbackground()设置字符屏幕下文本背景颜色(或字符背景颜色)。用法: 此函数调用方式为void textbackground(int bcolor);说明: 参数bcolor 的有效值取表1-4背景颜色(即宏名)或等价值。表1-4 背景颜色与等价值-------------------------------------------------&&&背景颜色&&&&&&&&&&&&等价值&&&&&&&&&含&& 义-------------------------------------------------&& BLACK&&&&&&&&&&&&&&&& 0&&&&&&&&&&&&&&&黑&&&BLUE&&&&&&&&&&&&&&&&&&1&&&&&&&&&&&&&&&蓝&&&GREEN&&&&&&&&&&&&&&&& 2&&&&&&&&&&&&&&&绿&&&CYAN&&&&&&&&&&&&&&&&&&3&&&&&&&&&&&&&&&青&&&RED&&&&&&&&&&&&&&&&&& 4&&&&&&&&&&&&&&&红&&&MAGENTA&&&&&&&&&&&&&&&5&&&&&&&&&&&&&&&洋红&&&BROWN&&&&&&&&&&&&&&&&&6&&&&&&&&&&&&&& 棕-------------------------------------------------调用该函数只影响后续写的字符背景颜色,而不改变当前显示在屏幕上的字符背景颜色。&&&这个函数对应的头文件是conio.h返回值: 无例: 设置文本背景颜色为蓝色:&&&textbackground(BLUE));三、 屏显状态函数这里提供三个在文本模式下屏幕显示状态的函数17. wherex() 光标处x坐标函数功能: 函数wherex()返回当前窗口中光标处横向坐标。用法: 此函数调用方式为int wherex(void);说明: 这个函数调用无参数,其对应的头文件是conio.h返回值: 函数调用成功,返回光标处x坐标值。例: 调用这个函数的实例见18.wherey()函数的例中。18. wherey() 光标处y坐标函数功能: 函数wherey()返回当前窗口中光标处纵向坐标。用法: 该函数调用方式为int wherey(void);说明: 此函数调用无参数,其相应的头文件是conio.h返回值: 函数调用成功,返回光标处y坐标值。例: 调作函数wherex()与wherey(),返回当前光标处x坐标与y坐标,并赋给整型变量xpos ,ypos。&&&int xpos,&&&xpos=wherex();&&&ypos=wherey();19. gettextinfo()&获取文本窗口信息函数功能: 函数gettextinfo()获取当前文本窗口信息,并存放在实参结构中。用法: 函数调用方式为void gettextinfo(struct text-info *info);说明: 函数中参数info 为struct text-info结构型指针,struct text-info结构在此函数相应的头文件中定义为:&&&struct text-info{&&&&&&u&&&&&&&&&// 窗口左上角x坐标&&&&&&&&&&&&&&& //&窗口左上角y坐标&&&&&&un&&&&&&&&// 窗口右下角x坐标&&&&&&uns&&&&&& // 窗口右下角y坐标&&&&&&uns&&&&&& // 文本属性&&&&&&un&&&&&&&&// 正常属性&&&&&&un&&&&&&&&// 当前屏显模式&&&&&&unsigned char screenhight&&&&&&//&文本窗口高度(以行数计)&&&&&&unsig&&&&&// 文本窗口宽度(以字符个数计)&&&&&&&&&&&&&&&&&&// 光标处x坐标&&&&&&&&&&&&&&&&&&// 光标处y坐标& };&&&记住,调用函数gettextinfo()时,要传递struct text-info结构型指针或该结构的首地址,不要传递结构变量本身。&&&这个函数对应的头文件是conio.h返回值: 返回文本窗口角点坐标、高宽度、文本属性等值,并存放在info所指向的结构变量中。例: 程序语句说明如何正确调用gettextinfo()函数:&&&struct text-info win-&&&gettextinfo(&win-status);&
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
您需要登录后才能评论,请c语言键盘操作_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
c语言键盘操作
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢c语言怎么实现输出颜色的变化_百度知道
c语言怎么实现输出颜色的变化
谢谢了该用个什么函数呢?能给我一个列子吗?这个函数包含在哪个文件里呢
提问者采纳
需要的就复杂一点要用到WINDOWS的一些API;conio如果是TC的话用#include &再用textcolor()就可以改变输出的颜色如果是VC的话,如果有兴趣.h&quot
其他类似问题
为您推荐:
c语言的相关知识
其他1条回答
关于屏幕的有好多啊
你可以找一些相关的看下就可以了
一、屏幕操作函数
1. clrscr()清除字符窗口函数
2. window()字符窗口函数
3. gotoxy()光标定位函数
4. clreol() 清除光标行尾字符函数
5. insline() 插入空行函数
6. delline() 删除一行函数
7. gettext() 拷进文字函数
8. puttext() 拷出文字函数
9. movetext() 移动文字函数
二、字符属性函数
10. textmode() 文本模式函数
11. highvideo()高亮度函数
12. lowvideo() 低亮度函数
13. normvideo(void);
14. textcolor() 文本颜色函数
15. textattr() 文本属性函数
16.textbackground() 文本背景函数
三、 屏显状态函数
17. wherex() 光标处x坐标...
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言中textattr() 函数中的参数提到的颜色与整数值的对应关系是什么?_百度知道
C语言中textattr() 函数中的参数提到的颜色与整数值的对应关系是什么?
提问者采纳
4)),整个窗口和随后输出到窗口中的文本字符才会变成新颜色。(3) 用textattr()函数时背景颜色应左移4位,定义方法如下;&lt,第7位B设置字符是否闪烁: attr的值表示颜色形式编码的信息,4--6三位bbb设置背景颜色(0到7),在没有用clrscr()函数清除窗口之前,每一位代表的含义如下:(1) 对于背景只有0 到7 共八种颜色,才能使3位背景颜色移到正确位置,颜色不会改变:位 7
┖──┘闪烁 背景颜色 字符颜色字节低四位cccc设置字符颜色(0到15),则代表的颜色与减 7后的值对应的颜色相同;4): textattr(128+YELLOW+(BLUE& 若再要求字符闪烁。假如要设置一个兰底黄字,直到使用了函数clrscr(): textattr(YELLOW+(BLUE&lt,则定义变为,若取大于7 小于15的数。(2) 用textbackground()和textcolor() 函数设置了窗口的背景与字符颜色后;&注意其中
提问者评价
不错,非常好,谢谢!特别是注意事项!
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C程序中怎么样把具体的一个字设置特定颜色_百度知道
C程序中怎么样把具体的一个字设置特定颜色
提问者采纳
int main(void){
textbackground(WHITE),printf就不行了文本窗口输出可以设置背景颜色和前景颜色;* 输出& */#include &* 设置前景颜色为蓝色,你提出的例子.&h&conio,如果熟练的话直接可以使用textattr(int newattr)直接设置背景颜色和前景颜色。而要在文本窗口输出带指定背景颜色和前景颜色的字符;h&quot。#include &lt,至于颜色的定义;
textbackground(YELLOW),背景颜色为黄色 *&#47,背景颜色为白色 *&#47,可以看一下下列代码,直接看一下帮助就可以了;
/#include &
/sys&#47,要用cputs或cprintf函数了.0调试通,在Turbo C 2.&quot.h&gt,函数分别为textbackground(int color)和textcolor(int color);
textcolor(RED);* 输出&quot.h& */););
textcolor(BLUE);* 设置前景颜色为红色
其他类似问题
为您推荐:
您可能关注的推广
颜色的相关知识
其他1条回答
文本窗口颜色的设置文本窗口颜色的设置包括背景颜色的设置和字符颜色的设置,使用的函数及其调用格式为:
设置背景颜色: void textbackground(int color);
设置字符颜色: void textcolor(int color);
有关颜色的定义见下表。
━━━━━━━━━━━━━━━━━━━━━━━━━━
符号常数 数值 含义 字符或背景
──────────────────────────
BLACK   0  黑  两者均可
BLUE    1  兰  两者均可
GREEN    2  绿  两者均可
CYAN     3  青   两者均可
RED     4  红  两者均可
MAGENTA   5  洋红 两者均可
BROWN    6   棕  两者均可
LIGHTGRAY 7   淡灰 两者均可
DARKGRAY 8  深灰 只用于字符
LIGHTBLUE 9   淡兰 只用于字符...
嗯嗯,我想知道的是怎么样设置一个具体字的颜色,比如输出&hello&时,“h&是红色,而&e&是蓝色
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 c语言入门 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信