1.在对话框类中添加两个变量:
CBrush m_brBack;
CBitmap m_bmBack;
2.在对话框初始化函数OnInitDialog()中加载位图资源
.......................
m_bmBack.DeleteObject();
m_brBack.DeleteObject();
m_bmBack.LoadBitmap(IDB_BITMAP1);
m_brBack.CreatePatternBrush(&m_bmBack);
.........................
3.重载OnCtlColor()函数,将对话框背景图片绘制到对话框上
HBRUSH CMfc2Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC her
if(nCtlColor==CTLCOLOR_DLG)
{
pDC->SetBkMode(TRANSPARENT);
return m_brBack;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}