16,472
社区成员
发帖
与我相关
我的任务
分享
// 头文件中
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
// 源文件中
BEGIN_MESSAGE_MAP()
ON_WM_CTLCOLOR()
END_ME_MAP()
HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if (nCtlColor == CTLCOLOR_DLG)
{
return 你自己的画刷句柄;
}
return __super::OnCtlColor(pDC, pWnd, nCtlColor)
}
// 头文件中:
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
// 源文件中:
BEGIN_MESSAGE_MAP
ON_WM_ERASEBKGND()
END_ME_MAP()
BOOL OnEraseBkgnd(CDC* pDC)
{
CRect rcClient;
GetClientRect(&rcClient);
pDC->FillSolidRect(rcClient, RGB(192,192,192)); // 银色背景
return TRUE;
}
//用下面的代码,可以实现修改窗体的背景为白色
void CUuiiDlg::OnPaint()
{
if (IsIconic())
{ }
else
{
//修改窗体背景颜色
CRect rect;
CPaintDC dc(this);
GetClientRect(rect);
//设置为白色背景
dc.FillSolidRect(rect,RGB(255,255,255));
CDialog::OnPaint();
}
}