VC++中用位图平铺填充整个Dlg的背景 <script language="javascript" type="text/javascript">document.title="VC++中用位图平铺填充整个Dlg的背景 - [原创] - "+document.title</script>
作者:razorwang
***转载请注明出处***
1、将准备好的位图引入到工程中:
在菜单中选择Insert->Resource,在弹出的对话框中选择Bitmap,点击Import,选择所准备的位图。完成后可见在资源列表中加入了我们所需的位图。
2、往projectnamedlg.cpp中添加OnEraseBkgnd()函数:
在类向导的最后一项Class Info,左下有个message filter,下拉选择windows后,在消息映射列表就会出现WM_ERASEBKGND了,双击它,即可在projectnamedlg.cpp文件中添加如下代码:
BOOL CMyprojectnameDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
return CDialog::OnEraseBkgnd(pDC);
}
3、用位图平铺填充整个Dlg的背景:
将以上函数的函数体改为:
{
CBitmap m_bmp;
m_bmp.LoadBitmap(IDB_BITMAP1); //IDB_BITMAP1为所用的位图
CRect rect;
GetClientRect(&rect);
CBrush m_brush(&m_bmp);
pDC->FillRect(&rect,&m_brush);
return FALSE;
}