在消息WM_CTRCOLOR响应函数中
返回一个自定义的画刷 来绘制对话框 大家都知道这个画刷会把对话框上的所有控件给绘制了(除开按钮。)我这个对话框上面有编辑框 staric文本框 一个按钮
所以编辑框 staric文本框 还有对话框都会是同一个颜色
现在 我的问题是 只想让控件以外的对话框区域绘制 这个怎么来实现啊
在线等待
返回一个自定义的画刷 来绘制对话框 大家都知道这个画刷会把对话框上的所有控件给绘制了(除开按钮。)我这个对话框上面有编辑框 staric文本框 一个按钮
所以编辑框 staric文本框 还有对话框都会是同一个颜色
现在 我的问题是 只想让控件以外的对话框区域绘制 这个怎么来实现啊
在线等待
HBRUSH Ccsdn_mfcDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
if(nCtlColor == CTLCOLOR_DLG)
{
return yourbrush; //设置你的画刷
}
return hbr;
}
BOOL CMyDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CRect rect;
GetClientRect(&rect);
pDC->FillRect(rect,&m_brush);
return true;
}