设置对话框的背景色

可以通过处理 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()

另请参阅

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