日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言SetConsoleTextAttribute函數使用方法_C 語言

更新時間: 2021-12-07 編程語言

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);

原文鏈接:https://blog.csdn.net/qq_42591783/article/details/121686029

欄目分類
最近更新