靜態文字顏色背景改變示例源程式 (轉)

worldblog發表於2007-12-10
靜態文字顏色背景改變示例源程式 (轉)[@more@]

 

 

類原作者:NormSoft  示例作者: 龔建偉 

  CLabel類可以改變 Static 靜態文字顏色、背景,或將靜態文字設定為超連結,一網友問我如何改變對話方塊文字顏色(不是全部改變),找到了這個類,自已做了一個示例程式(The original autor's expamle program is not suit for beginner),推薦給大家試試,有好作品別忘了給我寄一份。

首先類的源程式:下載(含我做的示例程式) (/SoftWareView.?SoftWareID=23607">269提供連結)

好了,如果是初學VC的朋友,先跟著做示例程式吧,老鳥則自已去看程式吧。

 

1. 新建專案:在VC6中用MFC新建一個基於對話方塊的TestStaticLabel專案,並在對話方塊中加入如圖所示,為每一個靜態文字設定不同的ID。(在Static控制元件的Properties中.看看我怎麼設定的,隨心所欲,最好便於記憶,便於今後自己查閱,這是一個良好的習慣,此乃廢話);

2.在專案中插入類:把所有label.cpp和label.h檔案copy 到專案資料夾下,Project->Add to Project->Files中選上label.cpp和label.h檔案, OK; 怎麼樣,在ClassView中看到了CLabel類吧。 開啟ClassWizard若看不到CLabel類,可關閉ClassWizard(不用關閉VC),在專案資料夾下把TestSaticLabel.clw檔案刪除,再開啟ClassWizard,會看到提示:"The classwizard database doesn't exist,.....,would you like to build it from your files?",選Yes,出現一個對話方塊,單擊 Add All,再單擊OK,好了,在ClassWizard中可以看到CLabel類了。

3.為每個要改變設定的STATIC靜態文字增加DDX控制變數在對話方塊標頭檔案TestSaticLabelDlg.h中加入 #include "label.h";開啟ClassWizard,選Member Variables頁,選上相應的靜態文字ID,單擊Add Viriable,在對話方塊中Category中選control,Variable Type選CLabel,Variable Name由你自己定吧。(把要改變的ID都加上DDX控制變數)

4.靜態文字設定方法 在對話方塊中OnInitDialog()中,新增程式碼:

  //其中:以m_ctrl開頭的為DDX CLabel控制變數

// TODO: Add extra initialization here
m_ctrlStaticXFS.SetFontName("Arial") //for 嘯峰工作室
.SetFontSize(30)
.SetTextColor(RGB(255,255,0))
.SetFontUnderline(TRUE)
.SetBkColor(RGB(0,0,0))
.SetFontItalic(TRUE)
.SetFontBold(TRUE)
.SetBorder(TRUE)
.SetSunken(TRUE);

m_ctrlStaticWWW
.SetLink(TRUE)
.SetTextColor(RGB(0,0,255))
.SetFontUnderline(TRUE)
.SetFontSize(15)
.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1));

m_ctrlStaticTellme
.SetFontName("System")
.SetBkColor(RGB(153,204,153))
.SetTextColor(RGB(255,0,102))
.SetFontSize(20)
.FlashBackground(TRUE)
.SetFontBold(TRUE);

m_ctrlStatic
.SetLink(TRUE)
.SetTextColor(RGB(0,0,255))
.SetFontUnderline(TRUE)
.SetFontSize(15)
.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1));

m_ctrlStaticBorder
.SetBkColor(RGB(051,102,255))
.SetTextColor(RGB(255,255,255))
.SetFontSize(25)
.SetFontBold(TRUE)
.SetBorder(TRUE); //border

m_ctrlStaticSuken
.SetBkColor(RGB(102,051,255))
.SetTextColor(RGB(255,255,255))
.SetFontSize(25)
.SetFontBold(TRUE)
.SetBorder(TRUE) 
.SetSunken(TRUE); //suken

大功告成,Build -> Run 吧,成了嗎?

請點選圖片進入

串列埠通迅(程式設計原始碼)、串列埠助手、埠通訊技術,VC/C程式設計,移動機器人控制相關技術,Matlab模擬及資料處理


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990863/,如需轉載,請註明出處,否則將追究法律責任。

相關文章