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