1、新建MFC应用程序。
3、右击项目,选择添加-资源。
4、在添加资源对话框中,点击导入,选择要作为背景的图片。
5、在工具箱找到Picture控件,托到界面中。
6、在界面上点击选中Picture控件,然后在属性的Type下拉框中,选择Bitmap。
7、再在Picture控件的属性的Type下拉框中插入的图片资源,选择好后,图片就可以加载进对话框了。
8、运行程序,看到背景已经变成你设置的图片。
BOOL CDialog::OnEraseBkgnd(CDC* pDC){
// TODO: Add your message handler code here and/or call default
CRect rect
CBitmap bitmap
BITMAP bmp
CDC dcCompatible
bitmap.LoadBitmap(IDB_LOGO)
bitmap.GetBitmap(&bmp)
dcCompatible.CreateCompatibleDC(pDC)
CBitmap *pOlBitmap = dcCompatible.SelectObject(&bitmap)
GetWindowRect(&rect)
pDC->SetStretchBltMode(COLORONCOLOR)
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,
0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY)
dcCompatible.SelectObject(pOlBitmap)
DeleteDC(dcCompatible.m_hDC)
return TRUE
}
重写CtColor然后在函数体加入如下代码
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor)
if (nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT)
hbr=(HBRUSH)GetStockObject(NULL_BRUSH)
}
return hbr
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)