CreateCompatibleBitmap菜鸟问题

我用CreateCompatibleBitmap调试时第一次可以返回一个句柄,但是第二次却出错返回了一个零,不知道是什么原因.请问大哥,GetLastError得到的值是... 我用CreateCompatibleBitmap调试时第一次可以返回一个句柄,但是第二次却出错返回了一个零,不知道是什么原因.
请问大哥,GetLastError得到的值是0?
请问这个我已经怎么再查呢?
刚学之方面的编程,还请多指教,我加分了!

CurMemDC = CreateCompatibleDC(0) 'create a DC
If CurMemDC = 0 Then MsgBox "Create CurMemDC Error" & Error

'该函数创建与指定的设备环境相关的设备兼容的位图
hBitMap = CreateCompatibleBitmap(FrmSampleC.Picture1.hdc, pWidth, pScaleHeight) 'create a bitmap in memory (notice that width=screen width)
If hBitMap = 0 Then MsgBox GetLastError()

'该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象
SelectObject MemDC, hBitMap 'associate the device context with the memory bitmap

hPen = CreatePen(0, 0, vbWhite) 'create a pen solid, width of 1 pixel and yellow colour
SelectObject MemDC, hPen 'associate the DC with this pen

SetBkColor MemDC, vbBlack 'set background colour of all drawing functions that use pens to black
展开
 我来答
stone_dongdong
2008-02-18 · TA获得超过2853个赞
知道大有可为答主
回答量:1636
采纳率:0%
帮助的人:1064万
展开全部
CreateCompatibleDC
CreateCompatibleBitmap
均创建了内存实体。
使用SelectObject 会将 bmp(或其它对象)选入dc中,返回旧的对象句柄hOldObj。使用完成以后要selectobject(hOldObj)恢复旧的设备对象。
在使用
DeleteObject,删除hNewBmp,hNewDc;

你的情况是未使用 SelectObject (hOldObj),恢复旧对象。
dicknew
2008-02-17 · TA获得超过109个赞
知道答主
回答量:60
采纳率:0%
帮助的人:67.8万
展开全部
第二次创建前必须用 DeleteObject 释放

参考资料: http://topic.csdn.net/t/20010722/00/203790.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
178752468
2008-02-17 · TA获得超过291个赞
知道小有建树答主
回答量:517
采纳率:0%
帮助的人:404万
展开全部
调用GetLastError来判断错误原因啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式