怎么给MFC的对话框加背景图片

怎么给MFC的对话框加背景图片,第1张

1、新建MFC应用程序。

2、在应用程序中,选择基于对话框,其他保持默认即可。

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11728398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存