zoukankan      html  css  js  c++  java
  • 利用SetConsoleTextAttribute函数设置控制台颜色

    控制台单调的颜色只有黑白两种,看起来多少难免有些单调。在没学图形化编程之前,每天看着控制台程序难免会枯燥无味。
    不过,利用SetConsoleTextAttribute函数可以设置控制台的前景色和背景色。

    闲言少叙,书归正传。

    ①效果图:(颜色可以混合,遵循配色原理)

    #include <windows.h>
    #include <iostream>
    using namespace std;
    
    
    int main()
    {
        HANDLE hOut;
    
    
        hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    
    
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_RED | 
                                FOREGROUND_GREEN);
        cout << "This text is yellow." << endl;
    
    
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_GREEN | 
                                FOREGROUND_BLUE);
        cout << "This text is cyan." << endl;
    
    
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_BLUE | 
                                FOREGROUND_RED);
        cout << "This text is magenta." << endl;
    
    
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_RED | 
                                FOREGROUND_GREEN | 
                                FOREGROUND_BLUE);
        cout << "This text is white." << endl;
    
    
        return 0;
    }
    ②效果图:(明暗颜色)

    #include <windows.h>
    #include <iostream>
    using namespace std;
    
    int main()
    {
        HANDLE hOut;
    
        hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_RED);
        cout << "Red     " << flush;
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_RED |
                                FOREGROUND_INTENSITY);
        cout << "Red" << endl;
    
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_GREEN);
        cout << "Green   " << flush;
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_GREEN |
                                FOREGROUND_INTENSITY);
        cout << "Green" << endl;
    
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_BLUE);
        cout << "Blue    " << flush;
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_BLUE |
                                FOREGROUND_INTENSITY);
        cout << "Blue" << endl;
    
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_RED | 
                                FOREGROUND_GREEN);
        cout << "Yellow  " << flush;
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_RED | 
                                FOREGROUND_GREEN |
                                FOREGROUND_INTENSITY);
        cout << "Yellow" << endl;
    
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_GREEN | 
                                FOREGROUND_BLUE);
        cout << "Cyan    " << flush;
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_GREEN | 
                                FOREGROUND_BLUE |
                                FOREGROUND_INTENSITY);
        cout << "Cyan" << endl;
    
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_BLUE | 
                                FOREGROUND_RED);
        cout << "Magenta " << flush;
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_BLUE | 
                                FOREGROUND_RED |
                                FOREGROUND_INTENSITY);
        cout << "Magenta" << endl;
    
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_RED | 
                                FOREGROUND_GREEN | 
                                FOREGROUND_BLUE);
        cout << "White   " << flush;
        SetConsoleTextAttribute(hOut,
                                FOREGROUND_RED | 
                                FOREGROUND_GREEN | 
                                FOREGROUND_BLUE |
                                FOREGROUND_INTENSITY);
        cout << "White" << endl;
    
        return 0;
    }
    ③背景颜色:

    #include <windows.h>
    #include <iostream>
    using namespace std;
    
    int main()
    {
        HANDLE hOut;
    
        hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED);
        cout << "Red     " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED |
                                BACKGROUND_INTENSITY);
        cout << "Red     " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_GREEN);
        cout << "Green   " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_GREEN |
                                BACKGROUND_INTENSITY);
        cout << "Green   " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_BLUE);
        cout << "Blue    " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_BLUE |
                                BACKGROUND_INTENSITY);
        cout << "Blue    " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED |
                                BACKGROUND_GREEN);
        cout << "Yellow  " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED |
                                BACKGROUND_GREEN |
                                BACKGROUND_INTENSITY);
        cout << "Yellow  " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_GREEN |
                                BACKGROUND_BLUE);
        cout << "Cyan    " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_GREEN |
                                BACKGROUND_BLUE |
                                BACKGROUND_INTENSITY);
        cout << "Cyan    " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_BLUE |
                                BACKGROUND_RED);
        cout << "Magenta " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_BLUE |
                                BACKGROUND_RED |
                                BACKGROUND_INTENSITY);
        cout << "Magenta " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED |
                                BACKGROUND_GREEN |
                                BACKGROUND_BLUE);
        cout << "White   " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED |
                                BACKGROUND_GREEN |
                                BACKGROUND_BLUE |
                                BACKGROUND_INTENSITY);
        cout << "White   " << endl;
    
        return 0;
    }



  • 相关阅读:
    如何使用dig命令挖掘域名解析信息
    网络地址转换 NAT 配置
    Win10 安装子系统 GUI 界面
    送给发烧友:Python条件语句的七种写法T
    这是一个可以显示Linux命令的工具
    网页游戏破解 我是武神
    仙侠道破解
    心动最新页游 仙侠道 破解笔记
    通用网页游戏伤害公式。
    mysql: error while loading shared libraries: libmysqlclient.so.16
  • 原文地址:https://www.cnblogs.com/lgh1992314/p/5835114.html
Copyright © 2011-2022 走看看