控制台程序设置背景色和前景色

来源:互联网 发布:淘宝客开通什么要求 编辑:程序博客网 时间:2024/05/21 10:15

#include <iostream>#include <windows.h>bool SetConsoleColor(WORD forceGroundColor, WORD backGroundColor);bool SetConsoleColor(WORD Color);int main(){ SetConsoleColor(FOREGROUND_INTENSITY | FOREGROUND_RED , BACKGROUND_RED | BACKGROUND_GREEN |0x80); std::cout <<"明天就是2012了。你们还有心情搞技术嘛?"<< std::endl; SetConsoleColor(9); //高亮蓝 1+8 默认黑背景 std::cout <<"明天就是2012了。你们还有心情搞技术嘛?"<< std::endl; SetConsoleColor(0x89); //高亮蓝 1+8 背景灰色 std::cout <<"明天就是2012了。你们还有心情搞技术嘛?"<< std::endl; SetConsoleColor(7); //高亮蓝 1+8 背景灰色 std::cout <<"明天就是2012了。你们还有心情搞技术嘛?"<< std::endl;//直接调用 高亮红 默认黑背景 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);system("pause"); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xA); //亮绿return 0;}/* 参数1和参数2分别是前景的颜色和背景的颜色。* #define FOREGROUND_BLUE 0x1* #define FOREGROUND_GREEN 0x2* #define FOREGROUND_RED 0x4* #define FOREGROUND_INTENSITY 0x8 //前景高亮* #define BACKGROUND_BLUE 0x10* #define BACKGROUND_GREEN 0x20* #define BACKGROUND_RED 0x40* #define BACKGROUND_INTENSITY 0x80 //背景高亮*//*颜色参数直接使用White_Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);Red_Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED);Green_Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_GREEN);Yellow_Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);Blue_Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_BLUE);Magenta_Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE);Cyan_Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);Black_Gray:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY | BACKGROUND_INTENSITY);Black_White:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY | FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);Red_White:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY | FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | FOREGROUND_RED);*/bool SetConsoleColor(WORD forceGroundColor, WORD backGroundColor){// 获得缓冲区句柄。参数可以选择一下三种值://// STD_INPUT_HANDLE 标准输入的句柄//// STD_OUTPUT_HANDLE 标准输出的句柄//// STD_ERROR_HANDLE 标准错误的句柄 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); if (handle ==0) return false;//设置文本及背景颜色。 BOOL ret = SetConsoleTextAttribute(handle, forceGroundColor | backGroundColor); return(ret == TRUE);}bool SetConsoleColor(WORD Color){ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); if (handle ==0) return false; BOOL ret = SetConsoleTextAttribute(handle, Color); return(ret == TRUE);}


原创粉丝点击