修改控制台的文字和背景顏色

2021-06-12 09:45:25 字數 1815 閱讀 9449

通常控制台都是白字黑底的,千篇一律不免單調。適當的在控制台中加入一些彩色可以讓人耳目一新,本文介紹如何使用系統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 在控制台下顯示進度

結合成來,完成乙個隨著任務完成百分比的增加,文字顏色不斷變化的彩色進度顯示。相信比單一的白色文字要美觀的多。

Shell 控制台顏色控制

輸出特效格式控制 033 0m 關閉所有屬性 033 1m 設定高亮度 03 4m 下劃線 033 5m 閃爍 033 7m 反顯 033 8m 消隱 033 30m 033 37m 設定前景色 033 40m 033 47m 設定背景色 游標位置等的格式控制 033 na 游標上移n行 03 nb...

python 控制台輸出帶顏色的文字

在python開發的過程中,經常會遇到需要列印各種資訊。海量的資訊堆砌在控制台中,就會導致資訊都混在一起,降低了重要資訊的可讀性。這時候,如果能給重要的資訊加上字型顏色,那麼就會更加方便使用者閱讀了。當然了,控制台的展示效果有限,並不能像前段一樣炫酷,只能做一些簡單的設定。不過站在可讀性的角度來看,...

控制台輸出文字顏色的方法

在python開發的過程中,經常會遇到需要列印各種資訊。海量的資訊堆砌在控制台中,就會導致資訊都混在一起,降低了重要資訊的可讀性。這時候,如果能給重要的資訊加上字型顏色,那麼就會更加方便使用者閱讀了。當然了,控制台的展示效果有限,並不能像前段一樣炫酷,只能做一些簡單的設定。不過站在可讀性的角度來看,...