用VC++实现console程序显示彩色文本
生活随笔
收集整理的這篇文章主要介紹了
用VC++实现console程序显示彩色文本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 用VC++實現console程序顯示彩色文本 |
用vc++寫console程序時,整天對著黑紙白字的屏幕,感覺很郁悶吧?很多人想用CONIO.H/GRAPHICS.H中的一些函數來實現,卻發現VC++根本沒有這些頭文件。當然了CONIO.H/GRAPHICS.H是BORLAND TC/BC專有的頭文件,所以vc++中根本沒有這些文件。把這兩個頭文件COPY過來,然后用??答案當然是否定的。其實VC++中也有相關的函數來實現console彩色文本及背景的顯示。下面我們就看看VC++如何實現彩色文本。
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)至于如何組合,我不知道 。 下面,我們就來寫一個類似又TC下settextcolor相似功能的函數SetColor(),不過下面的函數可以同時設置背景顏色,函數的實現如下:
有了上面的函數我們就可以實現彩色文本和背景了,給自己的程序一個與眾不同的輸出和提示。下面我們來實現一個彩色的Hello World!。程序如下:
當然,你可以用這個函數讓在你的程序在適當的地方顯示一些特殊的輸出或提示信息,這樣你的程序就“與眾不同”了。 |
總結
以上是生活随笔為你收集整理的用VC++实现console程序显示彩色文本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的个人网站更新了!
- 下一篇: 吴恩达《Machine Learning