[解决方法]
在Windows中,每个窗口的背景色都是由其中的刷子(brush)的填充色确定的.要使对话框的背景色改变只要改变对话框窗口所对应的刷子的填充色即可.
[实现程序]
假设你有了名为My的对话框工程,建立WM_CTLCOLOR消息的相应函数.
class CMyDlg : public CDialog
{
public:
CBrush m_brush;
........................
}
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_brush.CreateSolidBrush(RGB(255,255,255));
return TRUE; // return TRUE unless you set the focus to a control
}
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
return m_brush;
// TODO: Return a different brush if the default is not desired
//return hbr;
}
好了,建立了一个白色的对话框.
*/