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

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

1、新建MFC应用程序。

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

3、右击项目,选择添加-资源。

4、在添加资源对话框中,点击导入,选择要作为背景的图片。

5、在工具箱找到Picture控件,托到界面中。

6、在界面上点击选中Picture控件,然后在属性的Type下拉框中,选择Bitmap。

7、再在Picture控件的属性的Type下拉框中插入的图片资源,选择好后,图片就可以加载进对话框了。

8、运行程序,看到背景已经变成你设置的图片。

方法一:

1、声明成员变量CBrush m_brush

2、在InitDialog中添加代码:

CBitmap bmp

bmp.LoadBitmap(IDB_BITMAP1)//这个IDB_BITMAP1要自己添加

m_brush.CreatePatternBrush(&bmp)

3、重载对话框的OnCtlColor,改最后的返回值:

return (HBRUSH)m_brush

方法二:

把下面这段代码加进OnPaint()里就行了

CPaintDC dc(this)

CBitmap bitmap

bitmap.LoadBitmap(IDB_BITMAP1)//这个IDB_BITMAP1要自己添加

CBrush brush

brush.CreatePatternBrush(&bitmap)

CBrush* pOldBrush =dc.SelectObject(&brush)

dc.Rectangle(0,0,200,200)// 这些参数可以调整图片添加位置和大小

dc.SelectObject(pOldBrush)

方法三:使用StretchBlt()函数,具有图像自适应窗体功能

CPaintDC dc(this)

CBitmap m_bmpBK

m_bmpBK.LoadBitmap(IDB_BITMAP1)

CRect rect

GetClientRect(&rect)//获得目标尺寸,即窗口客户区的坐标

BITMAP bitMap//位图结构体

m_bmpBK.GetBitmap(&bitMap)//获得原图片尺寸

CDC dcMem//目标DC

dcMem.CreateCompatibleDC(&dc)//创建与dc兼容的内存DC

dcMem.SelectObject(&m_bmpBK)//将位图对象m_bmpBK选入内存DC

dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY)


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存