在利用MFC做界面监控软件时,常常需要放一个漂亮的背景图片,本文基于VS2010版本,利用MFC自带的onPaint函数添加背景图片。步骤如下:
1、准备一张BMP格式的图片文件,将其保存在项目文件夹res下,在资源视图中的Bitmap上点击右键,添加资源->Bitmap->导入->在保存的res文件夹下选择图片->打开,这样图片就算添加进去了。
2、点击刚刚插入的图片,在属性窗口修改ID,在这里我修改为IDB_BITMAP_BACKGROUND,接下来就是将背景图片插入对应的对话框中了。添加OnPaint函数:一般新建工程的对话框都自动添加了OnPaint函数。如果是新添加的对话框,则需先添加基于对话框的类,然后在类视图窗口点击该类,在对应的属性窗口有个消息的图标,点击该图标,在下面找到WM_PAINT,添加OnPaint函数。
3、在OnPaint函数中添加入下代码:
//添加背景图片
CPaintDC dc(this); //定义CPaint指针
CBitmap bitmap; //定义位图
bitmap.LoadBitmap(IDB_BITMAP_BACKGROUND); //这个IDB_BITMAP1要自己添加
CBrush brush;
brush.CreatePatternBrush(&bitmap);
CBrush* pOldBrush = dc.SelectObject(&brush);
dc.Rectangle(0,0,747,439); //前两个为图片起始位置,后两个为图片终点位置,实际为图片的像素大小
dc.SelectObject(pOldBrush);
需要注意的是:
1、程序第一句CPaintDC dc(this); 如果原来的OnPaint函数中已经定义了,则这句省略;
2、程序第三句中的IDB_BITMAP_BACKGROUND是你添加到项目里面的背景图片的ID;
3、程序这句话的四个参数dc.Rectangle(0,0,747,439); 0,0表示图片起始位置,不用修改;747和439是对应你的BMP格式背景图片的像素大小,即图片的尺寸。