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

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

1、新建MFC应用程序。

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

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

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

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

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

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

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

你添加的这个不是bmp位图文件

附加位图的时候,不能单单是把文件后缀改成.bmp

你可以用画图,或者其他看图工具,打开图片后另存为bmp格式

再插入的时候,就会变成位图附加到项目中了

附加了以后,图片的id会变成IDB_BITMAP1,你可以改成自己想要的名字

添加背景最好是放在OnEraseBkgnd(CDC* pDC)函数中,在OnPaint中有可能会闪屏。

//  CBitmap m_pBmp

//  BITMAP bm

//  CDC dcMem

//  m_pBmp.LoadBitmap(IDB_BITMAP_BG)

//  m_pBmp.GetBitmap(&bm)//得到位图尺寸 

//  dcMem.CreateCompatibleDC(pDC)

//  CBitmap* pOldBitmap = dcMem.SelectObject(&m_pBmp)

//  pDC->SetStretchBltMode(COLORONCOLOR)//这个模式不设置的话会导致图片严重失真

//  pDC->StretchBlt(0, 0, rect.Width(), rect.Height(), &dcMem, 0, 0, bm.bmWidth,bm.bmHeight,SRCCOPY) 

//  dcMem.SelectObject(pOldBitmap)

//  dcMem.DeleteDC()

用我这个代码

为什么要LoadBitmap 2次?


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存