前言
上面已经说过一种设置背景图片的方法,但那种方法只能显示指定大小的图片,不能契合窗口大小,这里提供第二种方法
添加资源
向MFC添加图片相信没问题了,上一篇主要就是说明如何向MFC资源中添加图片,现在我们的图片已经添加至资源了
添加变量
在窗口类定义里面添加成员变量
public:
CBitmap m_bmp; //存放位图对象
CDC m_dc; //DC对象
修改窗口初始化函数
在窗口初始化函数OnInitDialog()中添加
//加载位图
CBitmap bmp;
bmp.LoadBitmap(MAKEINTRESOURCE(IDB_BITMAP1));
//添加位图
m_bmp.Attach(bmp);
//创建兼容DC
CDC* pDc = GetDC();
m_dc.CreateCompatibleDC(pDc);
//用完之后释放
ReleaseDC(pDc);
//把位图对象选入DC中
m_dc.SelectObject(&m_bmp);
//使窗口无效,这样OnPaint函数就会被触发,使之被画出来
Invalidate(FALSE);
修改窗体重绘函数
在窗体重绘函数OnPaint()的if条件语句的else分支内添加
//画图DC
CPaintDC dc(this);
CRect rect ;
GetClientRect(&rect);
//缩放位图
BITMAP bm;
m_bmp.GetBitmap(&bm);
dc.StretchBlt(0, 0, rect.Width(), rect.Height(),
&m_dc, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY);
效果