MFC更换背景(基于对话框)

你说的曾经没有我的故事 提交于 2019-12-27 03:41:24

最近为了赶实验自学了一点点点点的mfc,然后也是去百度了很多用于修改一些小细节的东西,先来说说怎么更换基于对话框的背景。我用的是VC++6.0,比较老了,但是实验需要,我就下着了。
步入主题吧!
1、首先你要把你想要的背景图片放在建立的对象文件夹中的res文件夹
在这里插入图片描述2、而且要注意的是,这个图片格式不可以是.jpg的哦,可以用画图软件打开,然后保存的时候保存为.bmp格式,而且不能是24位的,我保存的是256色的,但是还是失真了啊,有一点点的不好看呢~
在这里插入图片描述3、VC++菜单栏的“插入”按钮,然后选择“资源”,选择第二个“Bitmap”,点击 引入
在这里插入图片描述4、找到xxxxDlg.cpp打开,找到…onpaint的代码块,有if()else(),然后把else语句块里面内容改为以下代码:

//CDialog::OnPaint();//要禁止这个调用  
          CPaintDC   dc(this);  
          CRect   rect;  
          GetClientRect(&rect);  
          CDC   dcMem;  
          dcMem.CreateCompatibleDC(&dc);  
          CBitmap   bmpBackground;  
          bmpBackground.LoadBitmap(IDB_BITMAP2);   
          //IDB_Bg为刚刚载入的图片对应的ID

          BITMAP   bitmap;  
          bmpBackground.GetBitmap(&bitmap);  
          CBitmap   *pbmpOld=dcMem.SelectObject(&bmpBackground);  
          dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,  
         bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);  

5、运行后背景界面就可以变成自己想要的啦!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!