Establecer el color de fondo del cuadro de diálogo
Puede establecer el color de fondo de los cuadros de diálogo controlando WM_CTLCOLOR
los mensajes de la ventana del cuadro de diálogo. El color que establezcas se usa solo 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. Se OnCtlColor
llama a la función miembro 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 laprotected:
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