Compartilhar via


Definindo a cor do plano de fundo da caixa de diálogo

Você pode definir a cor do plano de fundo de suas caixas de diálogo manipulando WM_CTLCOLOR mensagens para a janela da caixa de diálogo. A cor definida é usada apenas para a caixa de diálogo especificada.

Por exemplo, o fragmento de código a seguir define a cor de plano de fundo da caixa de diálogo como cinza escuro. A OnCtlColor função de membro é chamada sempre que a caixa de diálogo é redesenhada:

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

Para que o fragmento de código anterior funcione:

  • Adicione virtual HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); à protected: seção da definição de classe para sua caixa de diálogo.
  • Adicione o seguinte à definição de classe para sua caixa de diálogo e altere CMyDialog para o nome da classe de diálogo:
BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx)
    ON_WM_CTLCOLOR()
END_MESSAGE_MAP()

Confira também

Trabalhando com caixas de diálogo no MFC
Tratando mensagens do Windows na caixa de diálogo