SHLoadBitmap 使用DeleteObject资源释放不了

paolo   2009-5-3 23:12 楼主
HBITMAP hbit = (HBITMAP)SHLoadDIBitmap(name);
...
DeleteObject(hbit);
无法释放资源,使用Remote Heap Walker显示为fixed!
请大家帮忙

回复评论 (4)

hbit 要从dc选出以后才可以delectboject
即之前要调用 dc.selectobject(oldhbit);
点赞  2009-5-4 11:31
如楼上所说
HBITMAP hbit = (HBITMAP)SHLoadDIBitmap(name);
HBITMAP hOldBit = SelectObject( hMemDC, hbit );

//..Bitblt( do something )

SelectObject( hMemDC,hOldBit );
DeleteObject( hbit );
点赞  2009-5-4 12:48

4楼 11 

如LS所说,正在被内存DC使用的资源是不能DeleteObject()的
点赞  2009-5-4 12:31
谢谢各位,问题得到解决!
点赞  2009-5-6 10:32
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复