當前位置:成語大全網 - 詩歌朗誦 - 如何改變Win32控制臺程序的顯示顏色?

如何改變Win32控制臺程序的顯示顏色?

先試著跑個例吧~

# include & ltwindows.h & gt

# include & ltiostream & gt

使用命名空間std

void set color(unsigned short ForeColor = 0,unsigned short BackGroundColor=0)

{

HANDLE hCon = GetStdHandle(STD _ OUTPUT _ HANDLE);

SetConsoleTextAttribute(hCon,ForeColor | background color);

}

int main()

{

int FC,BC;

for(BC = 0;BC & lt=17;BC++)

{

for(FC = 0;FC & lt=255;FC++)

{

SetColor(FC,BC);

STD::cout & lt;& ltFC & lt& lt,' & lt& ltBC & lt& lt\ t ';

SetColor(7,0);

if(FC % 16 = = 15)STD::cout & lt;& ltendl

}

}

返回0;

}

耀眼吧?簡單說壹下:

利用API函數GetStdHandle()和SetConsoleTextAttribute()在vc++中實現彩色背景和彩色文本。

先說壹下這兩個函數聲明的含義和它們的參數。首先來說說GetStdHandle(),聲明如下

句柄GetStdHandle(

德沃德·恩斯特漢德爾

);

GetStdHandle()返回標準輸入、輸出或錯誤設備的句柄,即獲得輸入、輸出/錯誤屏幕。

緩沖區的句柄。其參數nStdHandle的值是以下類型之壹:

價值意義

標準輸入的句柄。

標準輸出的句柄。

標準錯誤的句柄。

SetConsoleTextAttribute()函數用於設置控制臺程序中輸入或輸出文本的文本顏色和背景顏色。

顏色。只有設置此功能後,才能顯示彩色文本。它的功能原型是:

BOOL SetConsoleTextAttribute(

Handle HConsoleOutput,//控制臺屏幕緩沖區的句柄。

單詞屬性//文本和背景的顏色

);

如果函數成功設置了文本和背景色,則返回非零值;如果失敗,則返回零。其參數如下:

控制臺屏幕緩沖區的句柄。

文字屬性-文字和背景的顏色。

其文本和背景顏色可以是前景藍、前景綠、前景紅、前景強度,

背景_藍色、背景_綠色、背景_紅色和背景_強度。

而這些顏色組合成的任何顏色,點都有點類似於RGB,但是怎麽組合就不太清楚了。...