您的位置:首页 > 其它

SetConsoleTextAttribute函数设置控制台字体的颜色

2017-05-15 17:55 483 查看
   设置文本属性的函数,原型如下:

BOOL SetConsoleTextAttribute(   // 设置WriteConsole等函数的字符属性  

HANDLE hConsoleOutput,          // 句柄  

WORD wAttributes                // 文本属性  

);  

  其中:
   HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE);    //获得标准输出设备句柄 

文本属性,其实就是颜色属性,有背景色和前景色(就是字符的颜色)两类,每一类只提供三原色(红,绿,蓝)和加强色(灰色,可与其他颜色搭配使用,使颜色变亮,后面会提到)。最后还有一个反色。

#include <windows.h> 

基本文本属性 :

FOREGROUND_BLUE 蓝色 

FOREGROUND_GREEN 绿色 

FOREGROUND_RED 红色 

FOREGROUND_INTENSITY 加强(灰色文本属性 )

BACKGROUND_BLUE 蓝色背景 

BACKGROUND_GREEN 绿色背景 

BACKGROUND_RED 红色背景 

BACKGROUND_INTENSITY 背景色加强(灰色背景属性 ) 

COMMON_LVB_REVERSE_VIDEO 反色 

      若要回复原来字体的颜色,可以在设置颜色的语句后面加上下面的语句:

     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

三原色的混合是用C语言位运算中的按位或 | 运算符,背景颜色与字符颜色的同时定义也是使用这个运算符融合。另外,将任意颜色与对应的加强色(灰色,有前景和背景两种,需要对应)融合后会成为对应颜色的高亮版,比如红色字符与前景加强色的融合会结合成亮红色。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: