可以通过处理 WM_CTLCOLOR 对话框窗口的消息来设置对话框的背景色。 设置的颜色仅用于指定的对话框。
例如,以下代码片段将对话框的背景色设置为深灰色。
OnCtlColor每当重新绘制对话框时,将调用成员函数:
HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
return (HBRUSH)GetStockObject(DKGRAY_BRUSH);
}
要使前面的代码片段正常工作:
- 将
virtual HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);添加到类定义的protected:部分,以用于您的对话框。 - 将以下内容添加到您的对话框类的定义中,并将
CMyDialog更改为您的对话框类的名称。
BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx)
ON_WM_CTLCOLOR()
END_MESSAGE_MAP()