本系列是本人近30年的編程總結,希望對廣大VC++編程愛好者有幫助。為了兼顧各類編程人員,使用VC++的早期版本VC++6.0,最新的VS 2015,VS2018,VS2019等系列版本做法基本一致。
CStatic是VC++的MFC(基礎函數類)中很重要的一個控件類。它的用法非常廣泛。以實類的形式,逐一介紹。為了減少篇幅,使用快捷鍵代替鼠標操作。
MFC 的CStatic用法(一)
在對話框顯示單行文本
1、打開vc++,選擇“new”,出現如下畫面,在工程名項輸入“CCStaticDemoDlg”,選擇“WIN32”,表示所做的APP為32位應用程序。選擇“OK”按鈕,繼續。
2、下一步,選擇對話框,其它缺省繼續即可。結束後,按CTRL+F5運行,出來如下畫面:
3、做一個靜態文本框:在右側的資源工具欄中,選擇文本項“Aa”,如圖紅色部分。在屬性框分別輸入如下圖標識的字符串,確定。
4、CTRL+F5,運行,如下結果:
5、文本並不在靜態文本框的中間位置。做文本框2,定義ID為IDC_STATIC_2(下同,不做重複說明),在屬性框選擇如下,進行調整:
6、改變前景色,背景色。先按照如下所示,
7、增加保護的消息映射函數:
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); CtlColor
這個需要在OnCtlColor中增加一段程序:
if(DlalogIDValue==IDC_STATIC3)
{
pDC->SetTextColor(m_DispTextColor[COLOR_NUM_1]);
pDC->SetBkColor(m_DispTextBackColor[COLOR_NUM_1]);
return m_DispBrush[COLOR_NUM_1].operator HBRUSH();
}
IDC_STATIC3是文本框的ID號,COLOR_NUM_1是顏色編號,表示編輯框的前景色,背景色。根據需要提前定義好即可。此處,選擇前景為橘紅,背景為白色。
8、執行結果如下:
9、如果希望是透明的,或者無邊框,那麼,在屬性中分別選擇“Transparent”,取消“Border”的勾選:結果如下:
今天就到這,有需要的朋友請聯繫我,beijingwanger,可提供源程序。
下一節,講一下多行靜態文本的用法。
閱讀更多 beijingwanger 的文章