關於設置對話框的背景顏色,和設置控件的字體顏色或背景顏色:
首先要為對話框添加消息映射,主要是:
BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)
ON_WM_ERASEBKGND()//背景色
ON_WM_CTLCOLOR()//設置文本等控件相關顏色
END_MESSAGE_MAP()
然後在相關代碼區域添加代碼:
//背景色
BOOL CXXXDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息處理程序代碼和/或調用默認值
//背景色
BOOL retValue= CDialog::OnEraseBkgnd(pDC);
CRect rc;
GetClientRect(&rc);
pDC->FillSolidRect(&rc,RGB(230,240,250));
return retValue;
}
// 除按紐之外的其他控件,字體顏色、字體背景顏色、控件背景顏色等。
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CBkDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改DC 的任何屬性
//對除了按鈕外的其他控件有效
if(pWnd->GetDlgCtrlID() == IDC_STATIC_TEXT )//關聯控件ID
{
//設置字體顏色
pDC->SetTextColor(RGB(200,100,80));
//設置文本背景顏色
pDC->SetBkColor(RGB(230,240,250));
//設置控件背景顏色
hbr = ::CreateSolidBrush(RGB(230,240,250));
return hbr;
}
// TODO: 如果默認的不是所需畫筆,則返回另壹個畫筆
return hbr;
}