CBitmap与HBITMAP的转换
2014-05-09 16:55
295 查看
CBitmap与HBITMAP的转换
hbitmap是bitmap的指针,msdn中:
Handle to a bitmap.typedef HANDLE HBITMAP;
cbitmap是mfc中封装bitmap的类;
msdn中:
Encapsulates a Windows graphics device interface (GDI) bitmap and provides member functions to manipulate(操作) the bitmap.
class CBitmap :public CGdiObject
转化方法两种,
Attach和FromHandle:
CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP1);
HBITMAP hbm = (HBITMAP)bmp;
CBitmap bmp1;bmp1.Attach(hbm);
HBITMAP = CBitmap.m_hObject
CBitmap* = CBitmap.FromHandle(HBITMAP)
//已知HBITMAP hbit;
CBitmap cb;cb.FromHandle(hbit);
//已知CBitmap cb;
HBITMAP hbit=(HBITMAP)cb;
CBitmap bmp;HBITMAP hBmp;
相互转换:
hBmp=(HBITMAP)bmp.GetSafeHandle();
bmp.Attach(hBmp);
注意点:Attach和FromHandle的区别FromHandle得到的指针是临时变量,,通过Attach连接的句柄可以长久保留,但通过FromHandle得到的只是暂时的,大概只在一个消息区间内有效,很快便会被删除,所以基本上不能用。我用了FromHandle然后一直出错!!!
相关文章推荐
- eclipse RCP配置问题
- ORA-00600 [4194]的解决
- 敏捷开发
- Nuane.SftpLite.dll 使用其可以反编译出sftp server
- 母亲节,写给我的妈妈
- 关于Class.getResource和ClassLoader.getResource的路径问题
- NSURLSession
- 转 mysql 中sql 语句查询今天、昨天、7天、近30天、本月、上一月 数据
- window7 远程连接 拒绝访问
- 数据结构课程设计---用Dijkstra算法实现一个简易的最佳方案选择
- Android中的Activity四种启动模式(3)
- C++习题 复数类--重载运算符+,-,*,/
- 统一设计,iOS6也玩扁平化
- 获取已安装或未安装的apk签名
- android虚拟机启动失败
- 搭建自己的Git服务器
- WPF草稿
- C++习题 复数类--重载运算符+,-,*,/
- php通过注释自动生成文档插件
- 会声会影x7中文版 64位&32位 官方版