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