通常控制台都是白字黑底的,千篇一律不免單調。適當的在控制台中加入一些彩色可以讓人耳目一新,本文介紹如何使用系統api介面去修改控制台的文字和背景顏色。
主要用到如下二個函式:
得到standard input, standard output, or standard error的裝置控制代碼:
handle getstdhandle(dword nstdhandle);
引數有:std_input_handle,std_output_handle及std_error_handle。傳入std_output_handle就可以得到控制台輸出裝置的控制代碼。
設定控制台裝置的屬性
bool setconsoletextattribute( handle hconsoleoutput,word wattributes);
第乙個引數為控制台standard input, standard output, or standard error的裝置控制代碼
第二個引數用來裝置裝置的屬性,這裡詳細介紹下表示顏色的引數。
先看下顏色的種類:
在xp系統 控制台一共有16種文字顏色,16種背景顏色,可以通過
文字顏色 + 背景顏色 * 0x10 來設定控制台的顏色。
已經定義好的顏色常量如下:
文字顏色使用如下組合:
foreground_blue 0x0001 // text color contains blue.
foreground_green 0x0002 // text color contains green.
foreground_red 0x0004 // text color contains red.
foreground_intensity 0x0008 // text color is intensified.高亮顏色
背景顏色使用如下組合(其實就是上面值*0x10):
background_blue 0x0010 // background color contains blue.
background_green 0x0020 // background color contains green.
background_red 0x0040 // background color contains red.
background_intensity 0x0080 // background color is intensified.
上面的顏色可以任意組合,如知道黃色可以由紅色和綠色組成,所以可以用foreground_green | foreground_red來表示黃色的文字。
預設情況下控制台的文字顏色是白色即用foreground_red | foreground_green | foreground_blue也可以直接用7表示,背景顏色為黑色即用0表示。
下面是已經封裝好的函式
[cpp]view plain
copy
//一共有16種文字顏色,16種背景顏色,組合有256種。傳入的值應當小於256
bool
setconsolecolor(
word
wattributes)
使用範例:
[cpp]view plain
copy
intmain()
輸出結果如下:
VC 控制台顏色設定
通常控制台都是白字黑底的,千篇一律不免單調。適當的在控制台中加入一些彩色可以讓人耳目一新,本文介紹如何使用系統api介面去修改控制台的文字和背景顏色。主要用到如下二個函式 得到standard input,standard output,or standard error的裝置控制代碼 handle...
VC 控制台顏色設定
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!通常控制台都是白字黑底的,千篇一律不免單調。適當的在控制台中加入一些彩色可以讓人耳目一新,本文介紹如何使用系統api介面去修改控制台的文字和背景顏色。主要用到如下二個函式 得到standard input,standard output,or st...
C C 控制台顏色設定類
windows和linux都可用的乙個類.用來設定顏色,沒有太複雜。簡單夠用吧。ifdef win32 include class fontcolor void setcolor int ncolor void unsetcolor fontcolor private handle m hstdou...