主要就是为WM_CTLCOLOR消息添加消息响应函数。
假设控件的ID是:IDC_ED_STATE,将控件中的文本设置为红色:
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
BEGIN_MESSAGE_MAP(CTFDS2TDlg, CDialog)
ON_WM_CTLCOLOR()
END_MESSAGE_MAP()
HBRUSH CTFDS2TDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID() == IDC_ED_STATE)
{
pDC->SetBkColor(RGB(0,0,0));//设置控件北京颜色为黑色
pDC->SetTextColor(RGB(255,0,0));//设置控件中文本的颜色为红色
hbr = (HBRUSH)GetStockObject(BLACK_BRUSH);
return hbr;
}
return hbr;
}