在窗口中贴图

为这个问题查阅了一天的资料,最终在孙鑫老师的视频教程里得到了类似的答案,做了一下简单修改,记

 

录如下:

 

我所用的是FormView,代码写在OnPaint中:

 

 CBitmap bitmap;//定义一个位图对象
 bitmap.LoadBitmap(IDB_BITMAP1);//载入位图
 CDC *pDC=CDC::FromHandle(::GetDC(GetDlgItem(IDC_PIC)->GetSafeHwnd()));//获取控件的DC

 

 BITMAP bmp;//定义一个BITMAP结构体变量
 bitmap.GetBitmap(&bmp);//获取位图对象的信息,保存在bmp这个结构体变量中

 

 CDC dcCompatible;//定义一个DC
 dcCompatible.CreateCompatibleDC(pDC);//创建一个内存上下文设备DC,该DC与pDC所指向的上下文DC是兼容的;
 

 dcCompatible.SelectObject(&bitmap);//将一个对象选入到上下文设备中,这里指兼容DC

 

 CRect rect;//定义一个矩形区域,用来保存显示区域大小
 GetDlgItem(IDC_PIC)->GetWindowRect(&rect);//保存显示区域大小
 

 pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,
          0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);//绘图

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值