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);
demprotected:
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