MFC添加背景图片

一、在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图片

如图:

SouthEast

右击Dialog,选择import,就可以导入一张图片到资源文件中,会默认生成一个Bitmap文件夹,资源ID号为IDB_BITMAP1

2.在对话框中拖入一个picture控件,type为Bitmap,IMAGE中找到IDB_BITMAP1(这是上一步生成的)点击确定,

bmp图片会自动填充对话框中相应的部分,如图所示:

SouthEast

3.如果我们希望图片刚好铺满对话框的话,我们选择的bmp图片先要裁剪好它的长和宽(分辨率)为合适的值

 

除了上面的拖入一个图片控件,把控件和位图资源关联之外,

还可以用代码控制控件在对话框会CFormView中的显示。如下面的代码

在基于CFormView的单文档应用程序中,添加一个OnDraw函数,在函数中添加下面的代码:

void CMy201403183View::OnDraw(CDC* pDC) 
{
// 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);  //恢复设备环境

}

转载于:https://my.oschina.net/u/3874841/blog/2992893

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值