VC++中用位图平铺填充整个Dlg的背景

VC++中用位图平铺填充整个Dlg的背景 

作者: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;
}

你可能感兴趣的:(windows,filter,vc++,import)