0
点赞
收藏
分享

微信扫一扫

控制台颜色(文字与背景)

沐之轻语 2022-03-11 阅读 99

先给出测试代码:

#include<iostream>
#include<windows.h>
using namespace std;
int main()
{
    HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);
    
    int textColor = 0xf0;
    SetConsoleTextAttribute(h, textColor);
    cout << "背景的颜色与相应的编码" << endl;

    cout << hex << showbase;                                          //输出数值的格式设置为16进制显示
    for (int i = 0; i < 16; i++)
    {
        SetConsoleTextAttribute(h, textColor);
        cout << textColor << "的颜色" << endl;
        textColor++;
    }

    textColor = 0xf0;
    SetConsoleTextAttribute(h, textColor);
    cout << "背景的颜色与相应的编码" << endl;
    
    textColor = 0x00;
    for (int i = 0; i < 16; i++)
    {
        SetConsoleTextAttribute(h, textColor);
        cout << textColor << "的颜色" << endl;
        textColor+=16;
    }
    system("pause");
    return 0;

}

学习笔记:

(1)SetConsoleTextAttribute函数时Windows系统中一个可以设置控制台窗口字体颜色和背景颜色的API函数,在此函数使用前,需要包含头文件:windows.h

(2)    HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);此处h对应控制台窗口的句柄,GetStdHandle(nStdHandle)是返回标准的输入,输出或者错误的设备的句柄,参数nStdHandle的值可以是STD_INPUT_HANDLE(标准输入的句柄),STD_OUTPUT_HANDLE(标准输出的句柄),STD_ERROR_HANDLE(标准错误的句柄)。此处关于句柄的概念,大家可以再学习一下。

举报

相关推荐

0 条评论