Udostępnij za pośrednictwem


Ustawianie koloru tła okna dialogowego

Kolor tła okien dialogowych można ustawić, obsługując WM_CTLCOLOR komunikaty dla okna dialogowego. Ustawiony kolor jest używany tylko dla określonego okna dialogowego.

Na przykład poniższy fragment kodu ustawia kolor tła okna dialogowego na ciemnoszary. Funkcja OnCtlColor składowa jest wywoływana za każdym razem, gdy okno dialogowe zostanie ponownie rysowane:

HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    return (HBRUSH)GetStockObject(DKGRAY_BRUSH);
}

Aby poprzedni fragment kodu działał:

  • dodaj virtual HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); do protected: sekcji definicji klasy dla okna dialogowego.
  • dodaj następujący kod do definicji klasy okna dialogowego i zmień CMyDialog nazwę na nazwę klasy okna dialogowego:
BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx)
    ON_WM_CTLCOLOR()
END_MESSAGE_MAP()

Zobacz też

Praca z oknami dialogowymi w MFC
Obsługa komunikatów systemu Windows w oknie dialogowym