【C++】颜色的设置
1.改变整个控制台的颜色
用 system("color 0A");
其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:
0=黑色
1=蓝色
2=绿色
3=湖蓝色
4=红色
5=紫色
6=黄色
7=白色
8=灰色
9=淡蓝色
A=淡绿色
B=淡浅绿色
C=淡红色
D=淡紫色
E=淡黄色
F=亮白色
2.改变下一个输出或者输入字体和背景的颜色
采用SetConsoleTextAttribute函数,如
White on Black:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
Red on Black:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED);
Green on Black:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_GREEN);
Yellow on Black:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED | FOREGROUND_GREEN);
Blue on Black:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_BLUE);
Magenta on Black:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED | FOREGROUND_BLUE);
Cyan on Black:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_GREEN | FOREGROUND_BLUE);
Black on Gray:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
BACKGROUND_INTENSITY);
Black on White:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
Red on White:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |
FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |
FOREGROUND_RED);
等等。
需要引入头文件:
windows.h
函数原型:
BOOL SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes );
wAttributes 的取值含义对应如下:
Attribute Meaning
FOREGROUND_BLUE Text color contains blue.
FOREGROUND_GREEN Text color contains green.
FOREGROUND_RED Text color contains red.
FOREGROUND_INTENSITY Text color is intensified.
BACKGROUND_BLUE Background color contains blue.
BACKGROUND_GREEN Background color contains green.
BACKGROUND_RED Background color contains red.
BACKGROUND_INTENSITY Background color is intensified.
COMMON_LVB_LEADING_BYTE Leading byte.
COMMON_LVB_TRAILING_BYTE Trailing byte.
COMMON_LVB_GRID_HORIZONTAL Top horizontal.
COMMON_LVB_GRID_LVERTICAL Left vertical.
COMMON_LVB_GRID_RVERTICAL Right vertical.
COMMON_LVB_REVERSE_VIDEO Reverse foreground and background attributes.
COMMON_LVB_UNDERSCORE Underscore.
最新文章
- ABP文档 :Overall - Module System
- Windows 查看端口占用和关闭进程
- Java语言的多态性
- Nginx + FastCgi + Spawn-fcgi + c 的架构
- 【转】SQL Server T-SQL写文本文件
- 例行性工作排程 (crontab)
- WPF 媒体播放器(MediaElement)实例,实现进度和音量控制
- 解决phpmailer可以在windows下面发送成功, 在linux下面失败的问题
- 【C#】Send data between applications
- Java常量笔记
- MySQL主从同步报错故障处理集锦
- [2013-07-22]varnish-cache 安装配置及体验笔记
- Stack的源码分析和应用实例
- UVAlive4287_Proving Equivalences
- 鼠标聚焦到Input输入框时,按回车键刷新页面原因及解决方法
- .Net Core下使用Ajax,并传送参数到controllers
- 纯css导航下划线跟随效果【转载】
- Entity Framework中的连接管理
- ACM1198Farm Irrigation
- ipv6被拒的解决方法
热门文章
- 【Codeforces 225C】Barcode
- BUPT2017 wintertraining(16) #9
- 用R语言 画条形图(基于ggplot2包)
- nyoj_38_布线问题_201403121753
- Linux轻松一下——cowsay命令,让动物说话
- Git 项目上传至github入门实战并解决常见错误
- HPU 1002 A + B Problem II【大数】
- hibernate实战笔记1---初探
- pattern matching is C# 7.0
- How to do IF NOT EXISTS in SQLite