设置对话框的背景色

可通过处理对话框窗口的 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 更改为 dialog 类的名称:
BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx)
    ON_WM_CTLCOLOR()
END_MESSAGE_MAP()

另请参阅

在 MFC 中使用对话框
处理对话框中的 Windows 消息