Share via


Festlegen der Hintergrundfarbe des Dialogfelds

Sie können die Hintergrundfarbe Ihrer Dialogfelder festlegen, indem Sie Meldungen für das Dialogfeldfenster behandeln WM_CTLCOLOR . Die von Ihnen festgelegte Farbe wird nur für das angegebene Dialogfeld verwendet.

Das folgende Codefragment legt beispielsweise die Hintergrundfarbe des Dialogfelds auf dunkelgrau fest. Die OnCtlColor Memberfunktion wird immer dann aufgerufen, wenn das Dialogfeld neu gezeichnet wird:

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

Damit das vorherige Codefragment funktioniert:

  • fügen Sie virtual HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); dem protected: Abschnitt der Klassendefinition für Ihr Dialogfeld hinzu.
  • Fügen Sie der Klassendefinition für Ihr Dialogfeld Folgendes hinzu, und ändern Sie CMyDialog den Namen der Dialogklasse:
BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx)
    ON_WM_CTLCOLOR()
END_MESSAGE_MAP()

Siehe auch

Arbeiten mit Dialogfeldern in MFC
Verarbeiten von Windows-Meldungen in einem Dialogfeld