Настройка цвета фона диалогового окна

Вы можете задать цвет фона диалоговых окон, обрабатывая 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 для диалогового окна