Compartir vía


Establecer el color de fondo del cuadro de diálogo

Puede establecer el color de fondo de los cuadros de diálogo gestionando los mensajes WM_CTLCOLOR para la ventana del cuadro de diálogo. El color que establezca solo se usa para el cuadro de diálogo especificado.

Por ejemplo, el fragmento de código siguiente establece el color de fondo del cuadro de diálogo en gris oscuro. La función miembro OnCtlColor se llama cada vez que se vuelve a dibujar el cuadro de diálogo.

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

Para que el fragmento de código anterior funcione:

  • agregue virtual HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); a la protected: sección de la definición de clase para el cuadro de diálogo.
  • agregue lo siguiente a la definición de clase para el cuadro de diálogo y cambie CMyDialog al nombre de la clase de diálogo:
BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx)
    ON_WM_CTLCOLOR()
END_MESSAGE_MAP()

Consulte también

Trabajar con cuadros de diálogo en MFC
Control de mensajes de Windows en el cuadro de diálogo