一、在OnPaint()函数中增加背景图片
//添加背景图片
CPaintDC dc(this); //定义CPaint指针
CBitmap bitmap; //定义位图
bitmap.LoadBitmap(IDB_BACKGROUND); //这个IDB_BITMAP1要自己添加
CBrush brush;
brush.CreatePatternBrush(&bitmap);
CBrush* pOldBrush = dc.SelectObject(&brush);
dc.Rectangle(0,0,800,480); //前两个为图片起始位置,后两个为图片终点位置,实际为图片的像素大小
dc.SelectObject(pOldBrush);
二、直接使用Picture Control 控件增加
1.从VC6.0的Resources中添加一张bmp图片
右击Dialog,选择import,就可以导入一张图片到资源文件中,会默认生成一个Bitmap文件夹,资源ID号为IDB_BITMAP1
2.在对话框中拖入一个picture控件,type为Bitmap,IMAGE中找到IDB_BITMAP1(这是上一步生成的)点击确定,
bmp图片会自动填充对话框中相应的部分
3.如果我们希望图片刚好铺满对话框的话,我们选择的bmp图片先要裁剪好它的长和宽(分辨率)为合适的值

除了上面的拖入一个图片控件,把控件和位图资源关联之外,
还可以用代码控制控件在对话框会CFormView中的显示。如下面的代码
在基于CFormView的单文档应用程序中,添加一个OnDraw函数,在函数中添加下面的代码:
void CMy201403183View::OnDraw(CDC* pDC)
{undefined
// TODO: Add your specialized code here and/or call the base class
CMy201403183Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);//将位图装入内存
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);//创建内存设备环境
CBitmap* OldBitmap=MemDC.SelectObject(&bitmap);
BITMAP bm; //创建BITMAP结构变量
bitmap.GetBitmap(&bm);//获取位图信息
pDC->BitBlt (0,0,bm.bmWidth,bm.bmHeight,&MemDC,0,0,SRCCOPY);//显示位图 开始的四个参数可以设置源位图在目标图上显示的位置,(0,0)表示从最左上角开始显示
pDC->SelectObject(OldBitmap); //恢复设备环境
}

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐