1、添加對話框類聲明中字體和顏色變量
- public:
- CFont m_myFont; // 字體對象
- COLORREF m_myColor; // 顏色對象
2、在對話框初始化函數OnInitDialog()中對字體和顏色進行初始化
- // TODO: 在此添加額外的初始化代碼
- m_myFont.CreatePointFont(150, _T("華文彩雲"));
- m_myColor = RGB(255, 0, 255);
3、爲對話框類添加WM_CTLCOLOR消息響應函數,並在其消息響應函數OnCtlColor()中添加代碼
- afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); // 消息響應函數聲明
- ON_WM_CTLCOLOR() // 消息映射
- HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) // 消息響應函數實現
- {
- HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
- // TODO: 在此更改 DC 的任何屬性
- if(pWnd->GetDlgCtrlID()==IDC_STATIC_WEEK)
- {
- pDC->SelectObject(&m_myFont); // 設置字體
- pDC->SetTextColor(m_myColor); // 設置顏色
- }
- // TODO: 如果默認的不是所需畫筆,則返回另一個畫筆
- return hbr;
- }
參考: