Windows API一日一練(23)SetTextColor函數

來源:互聯網
上載者:User
 世界是多姿多彩的,色彩是不可以缺少的。在軟體開發裡,不同的字元顏色往往用來區分不同的資料類型,比如嚴重的警告,就是使用紅色,當然這也是跟交通裡紅綠燈是一樣的道理。最根本的原因,還是人類對自然的選擇。畢竟人眼對不同的顏色作出了不同的選擇。由於紅色光波穿透性比較好,所以就形成以紅色來警告的訊號。說來也怪,人類的身體不管是什麼顏色,流著的血一定是紅色的。在軟體開發裡,要把輸出字元的顏色符合現在人位的習慣,不要背離它,否則就不是“以人為本”的科學理念,如果開發出不是“以人為本”的軟體是沒有客戶使用的。在Windows裡,微軟是選擇以藍色為基調的色彩配置,深藍色的XP介面比WIN2000介面,讓人感覺到耳目一新的感覺,深深地把年輕人吸引住了。看到國內殺毒軟體,很多是選擇綠色為基調,其實就是綠色也就是代表了安全的選擇。可見,在軟體領域裡顏色是非常重要的,面對不同的客戶要選擇不同的顏色。比如SAP軟體,選擇是黃色為基調,比較有特色。

函數SetTextColor聲明如下:
WINGDIAPI COLORREF WINAPI SetTextColor(__in HDC hdc, __in COLORREF color);
hdc是當前裝置的控制代碼。
color是設定當前裝置字元輸出顏色。

調用這個函數的例子如下:
#001 //
#002 //介面顯示輸出.
#003 //
#004 //蔡軍生 2007/08/13 QQ:9073204 深圳
#005 //
#006 void CCaiWinMsg::OnDraw(HDC hDC)
#007 {
#008  //
#009  std::wstring strShow(_T("C++視窗類別的實現,2007-08-13"));
#010  TextOut(hDC,10,10,strShow.c_str(),(int)strShow.length());     
#011
#012  //設定輸出字串的顏色.
#013  COLORREF crOld = SetTextColor(hDC,RGB(255,0,0));
#014  TextOut(hDC,10,30,strShow.c_str(),(int)strShow.length());
#015
#016  SetTextColor(hDC,RGB(0,255,0));
#017  TextOut(hDC,10,50,strShow.c_str(),(int)strShow.length());
#018
#019  SetTextColor(hDC,RGB(0,0,255));
#020  TextOut(hDC,10,70,strShow.c_str(),(int)strShow.length());
#021
#022  //
#023  SetTextColor(hDC,crOld);
#024 }

第13行設定字元的顏色為紅色。
第16行設定字元的顏色為綠色。
第19行設定字元的顏色為藍色。
第23行恢複原來的顏色,這個一定要記得做,否則後面顯示會出錯。

下載 (63.38 KB)2008-12-2 22:41

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.