如何改变Win32 Console 程序显示颜色

#include<windows.h> 
#include<iostream> 
using namespace std; 

void SetColor(unsigned short ForeColor=0,unsigned short BackGroundColor=0) 

HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE); 
SetConsoleTextAttribute(hCon,ForeColor|BackGroundColor); 


int main() 

int FC,BC; 
for(BC=0;BC<=17;BC++) 

for(FC=0;FC<=255;FC++) 

SetColor(FC,BC); 
std::cout<<FC<<','<<BC<<'/t'; 
SetColor(7,0); 
if(FC%16==15)std::cout<<endl; 



return 0; 



眼花缭乱吧?下面简单讲一下: 

在vc++用API函数GetStdHandle()和SetConsoleTextAttribute()来实现彩色背景及彩色文本. 
下面说一下这两个函数声明及其参数的含义.首先说GetStdHandle(),其声明如下 

HANDLE GetStdHandle( 
DWORD nStdHandle 
); 

GetStdHandle()返回标准的输入、输出或错误的设备的句柄,也就是获得输入、输出/错误的屏幕 
缓冲区的句柄. 其参数nStdHandle的值为下面几种类型的一种: 

值 含义 
STD_INPUT_HANDLE 标准输入的句柄 
STD_OUTPUT_HANDLE 标准输出的句柄 
STD_ERROR_HANDLE 标准错误的句柄 

函数SetConsoleTextAttribute()的作用是在console程序设置输入或输出文本的文本颜色和背景颜 
色.只有在此函数设置后才能显示彩色的文本.其函数原型为: 

BOOL SetConsoleTextAttribute( 
HANDLE hConsoleOutput, // console 屏幕缓冲区的句柄 
WORD wAttributes // 文本及背景的颜色 
); 

如果函数设置文本及背景颜色成功,则返回非零;如失败返回零.其参数含义如下: 

hConsoleOutput-------------console 屏幕缓冲区的句柄. 
WORD wAttributes-----------文本及背景的颜色. 

其文本与背景颜色可以是 FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, 
BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED, and BACKGROUND_INTENSITY. 
和用这几种颜色组合成的任意一种颜色,点有点类似于RGB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值