C语言SetConsoleTextAttribute函数使用方法

1、函数接口

BOOL WINAPI SetConsoleTextAttribute(

_In_ HANDLE hConsoleOutput,

_In_ WORD wAttributes

);

头文件<windows.h>

2、作用

SetConsoleTextAttribute()函数是一个设置控制台字体颜色和背景色的函数。

3、参数

第一个参数获得句柄(即要设置颜色的地方),第二个参数设置颜色。属性相加是在属性值中间加“|”隔开即可(遵循配色原理)

GetStdHandle(STD_OUTPUT_HANDLE)获得句柄。

FOREGROUND_INTENSITY  表示设置前景色为高亮显示。

FOREGROUND_RED        表示设置前景色为红色,即字体颜色为红色。

FOREGROUND_GREEN      表示设置前景色为绿色,即字体颜色为绿色。

FOREGROUND_BLUE       表示设置前景色为蓝色,即字体颜色为蓝色。

BACKGROUND_INTENSITY  表示设置背景色为高亮显示。

BACKGROUND_RED        表示设置背景色为红色。

BACKGROUND_GREEN      表示设置背景色为绿色。

BACKGROUND_BLUE       表示设置背景色为蓝色。

COMMON_LVB_GRID_HORIZONTAL顶部水平网格
COMMON_LVB_GRID_LVERTICAL左竖直网格
COMMON_LVB_GRID_RVERTICAL右竖直网格
COMMON_LVB_UNDERSCORE下划线

 

4、测试代码

#include <iostream>

#include <cstdlib>

#include <cstdio>

#include <ctime>

#include <cmath>

#include <windows.h>

using namespace std;

int main()

{

cout << "原色(没有设置字体颜色)" << endl;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);//设置三色相加

cout << "白色(红色绿色蓝色相加)" << endl;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);//设置红色

cout << "红色(设置的颜色为红色)" << endl;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);//设置绿色

cout << "绿色(设置的颜色为绿色)" << endl;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);

//设置蓝色

cout << "蓝色(设置的颜色为蓝色)" << endl;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);//设置红色和绿色相加

cout << "黄色(红色和绿色相加色)" << endl;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE);//设置红色和蓝色相加

cout << "粉色(红色和蓝色相加色)" << endl;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);//设置绿色和蓝色相加

cout << "青色(绿色和蓝色相加色)" << endl;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY);//设置颜色,没有添加颜色,故为原色

cout << endl;

}

5、直接使用数字进行配色

0 = 黑色       8 = 灰色

1 = 蓝色       9 = 淡蓝色

2 = 绿色       A = 淡绿色

3 = 湖蓝色     B = 淡浅绿色

4 = 红色       C = 淡红色

5 = 紫色       D = 淡紫色

6 = 黄色       E = 淡黄色

7 = 白色       F = 亮白色

0 = black           8 = gray

1 = blue             9 = light blue

2 = green                 A = light green

3 = lake blue            B = light green

4 = red                      C = light red

5 = purple                D = lavender

6 = yellow                 E = light yellow

7 = white                   F = bright white

说明:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);//设置三色相加

    cout << "亮白色(红色绿色蓝色相加再加高亮)" << endl;

FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE=8|4|2|1=15

因此只要往该第二个参数传相应的数字便可控制前景色与背景色了

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE,15);

到此这篇关于C语言SetConsoleTextAttribute函数使用方法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

以上是 C语言SetConsoleTextAttribute函数使用方法 的全部内容, 来源链接: utcz.com/p/247881.html

回到顶部