码迷,mamicode.com
首页 > 其他好文 > 详细

使用bitblt函数加载位图,重绘时消失

时间:2014-08-21 22:52:35      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:bitblt   加载位图不现实   更新窗口   位图不显示   

BOOL BitBlt(
  HDC hdcDest, // 设备描述表句柄
  int nXDest,  // 输出设备左上角x坐标
  int nYDest,  // 输出设备左上角y坐标
  int nWidth,  // 资源在输出设备上的宽度
  int nHeight, // 资源在输出设备上的高度
  HDC hdcSrc,  // 资源设备描述表(虚拟设备描述表)
  int nXSrc,   // 指定资源左上角的x坐标
  int nYSrc,   // 指定资源左上角的y坐标
  DWORD dwRop  // 光栅操作代码
);
我们知道使用bitble()函数,我们需要虚拟设备描述表(兼容DC),将我们要加载的信息首先写到虚拟设备描述表,然后采用某种映射模式(光栅操作代码),将信息输出到目的输出设备上去。
虚拟设备描述表和虚拟内存相似,是我们在内存上开辟的暂时存储信息的,与设备描述表相似的一块内存区域

首先要创建虚拟设备描述表(兼容DC):
hdcMem = CreateCompatibleDC(hdc);
最后要调用DeleteDC()去释放句柄,不然位图无法显示。
很不解为什么不释放句柄就不会显示信息,假如一直申请内存,最终不就是导致内存泄露,也不会导致没有信息的显示。希望有路过的大神帮我看看!
我的程序代码

使用bitblt函数加载位图,重绘时消失,布布扣,bubuko.com

使用bitblt函数加载位图,重绘时消失

标签:bitblt   加载位图不现实   更新窗口   位图不显示   

原文地址:http://blog.csdn.net/renyhui/article/details/38736633

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!