C语言控制台如何设置局部字体和背景的颜色
很多刚接触C语言的同学都忍受不了黑白分明的控制台程序,其实控制台程序也可以玩得很炫酷,下面我就来跟大家说说怎么样才能把黑框做得炫酷,以下截图是我以前自己写的程序,供大家参考。
操作方法
- 01
//引用头文件 #include <windows.h>
- 02
/* 对应的颜色码表: 1. 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 10 = 淡绿色 3 = 浅绿色 11 = 淡浅绿色 4 = 红色 12 = 淡红色 5 = 紫色 13 = 淡紫色 6 = 黄色 14 = 淡黄色 7 = 白色 15 = 亮白色 */ //定义设置颜色的函数,方便我们使用 //第一个参数是字体颜色,第二个参数是字体颜色 void setColor(unsigned short ForeColor=7,unsigned short BackGroundColor=0) { HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);//获取当前窗口句柄 SetConsoleTextAttribute(handle,ForeColor+BackGroundColor*0x10);//设置颜色 } //定义设置光标位置的函数 void SetPos(int x,int y) { COORD pos; HANDLE handle; pos.X=x; pos.Y=y; handle=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(handle,pos); }
- 03
//调用 //设置光标位置,就是需要显示的位置 SetPos(30,10); //设置颜色 setColor(10,0);
- 04
我写的一个小示例:代码 #include <stdio.h> #include <windows.h> //设置颜色: void setColor(unsigned short ForeColor=7,unsigned short BackGroundColor=0) { HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);//获取当前窗口句柄 SetConsoleTextAttribute(handle,ForeColor+BackGroundColor*0x10);//设置颜色 } //设置光标位置 void SetPos(int x,int y) { COORD pos; HANDLE handle; pos.X=x; pos.Y=y; handle=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(handle,pos); } int main() { //设置光标位置,就是需要显示的位置 SetPos(30,10); //设置颜色 setColor(10,0); //显示文字 printf("我"); setColor(1,0); printf("爱"); setColor(12,0); printf("你"); printf(" 就像老鼠爱大米"); //设置为原来的黑白 setColor(7,0); getchar(); return 0; }
- 05
程序运行截图: