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然后一直出错!!!