console程序显示彩色文字 .
生活随笔
收集整理的這篇文章主要介紹了
console程序显示彩色文字 .
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?1、概要
相信大部分關注本篇文章的你們都曾經寫過console程序,那么你們是否面厭煩了一層不變的“黑底白字”的屏幕,是否有曾想過要給console程序的屏幕畫畫“彩妝”呢?本篇文章就是介紹如何給console程序顯示彩色文字。
2、給console程序屏幕畫彩妝
直接進入主題,需要用到的函數有:
GetStdHandle
SetConsoleTextAttribute
另外演示代碼中還用到了:
WriteFile
GetConsoleScreenBufferInfo
2.1、GetStdHandle
GetStdHandle是獲得標準的輸入、輸出和錯誤的設備句柄,也就是獲得輸入、輸出/錯誤的屏幕緩沖區句柄。
HANDLE GetStdHandle( DWORD nStdHandle );
nStdHandle可以是下列值之一:
STD_INPUT_HANDLE standard input handle
STD_OUTPUT_HANDLE standard output handle
STD_ERROR_HANDLE standard error handle
如果返回的標準的輸入設備句柄,那么,你可以用ReadFile函數從console屏幕來讀取由鍵盤輸入的字符串,就像C語言中的scanf函數。如果是標準的輸出設備句柄,那么可以用WriteFile函數向屏幕寫入要顯示的字符串,類似C語言中的printf函數。錯誤設備句柄也只能作為輸出。
注意:nStdHandle不能是兩個或兩個以上值的組合,也就是說GetStdHandle獲得的一個標準設備句柄,要不只能輸入,要不只能輸出,不可兼得。
2.2、SetConsoleTextAttribute
Console默認的屏幕字體為黑底白字,SetConsoleTextAttribute能改變字體的背景色和字體顏色,只有調用了該函數,console的字體顏色還能得以改變。
其原型為:
BOOL SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes );
hConsoleOutput:由GetStdHandle獲得的標準輸入、輸出和設備句柄。
wAttributes:要設定的顏色值,FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE,等
2.3、GetConsoleScreenBufferInfo
這個函數的作用僅僅是獲取當前console屏幕的一些屬性值,其中就包括字體顏色。
相信大部分關注本篇文章的你們都曾經寫過console程序,那么你們是否面厭煩了一層不變的“黑底白字”的屏幕,是否有曾想過要給console程序的屏幕畫畫“彩妝”呢?本篇文章就是介紹如何給console程序顯示彩色文字。
2、給console程序屏幕畫彩妝
直接進入主題,需要用到的函數有:
GetStdHandle
SetConsoleTextAttribute
另外演示代碼中還用到了:
WriteFile
GetConsoleScreenBufferInfo
2.1、GetStdHandle
GetStdHandle是獲得標準的輸入、輸出和錯誤的設備句柄,也就是獲得輸入、輸出/錯誤的屏幕緩沖區句柄。
HANDLE GetStdHandle( DWORD nStdHandle );
nStdHandle可以是下列值之一:
STD_INPUT_HANDLE standard input handle
STD_OUTPUT_HANDLE standard output handle
STD_ERROR_HANDLE standard error handle
如果返回的標準的輸入設備句柄,那么,你可以用ReadFile函數從console屏幕來讀取由鍵盤輸入的字符串,就像C語言中的scanf函數。如果是標準的輸出設備句柄,那么可以用WriteFile函數向屏幕寫入要顯示的字符串,類似C語言中的printf函數。錯誤設備句柄也只能作為輸出。
注意:nStdHandle不能是兩個或兩個以上值的組合,也就是說GetStdHandle獲得的一個標準設備句柄,要不只能輸入,要不只能輸出,不可兼得。
2.2、SetConsoleTextAttribute
Console默認的屏幕字體為黑底白字,SetConsoleTextAttribute能改變字體的背景色和字體顏色,只有調用了該函數,console的字體顏色還能得以改變。
其原型為:
BOOL SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes );
hConsoleOutput:由GetStdHandle獲得的標準輸入、輸出和設備句柄。
wAttributes:要設定的顏色值,FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE,等
2.3、GetConsoleScreenBufferInfo
這個函數的作用僅僅是獲取當前console屏幕的一些屬性值,其中就包括字體顏色。
轉載于:https://www.cnblogs.com/leven20061001/archive/2012/02/02/2724712.html
總結
以上是生活随笔為你收集整理的console程序显示彩色文字 .的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Flex+J2EE获取FlexSessi
- 下一篇: Linux C 中连接操作符##