
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 展开
请问大哥,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 展开
3个回答
展开全部
CreateCompatibleDC
CreateCompatibleBitmap
均创建了内存实体。
使用SelectObject 会将 bmp(或其它对象)选入dc中,返回旧的对象句柄hOldObj。使用完成以后要selectobject(hOldObj)恢复旧的设备对象。
在使用
DeleteObject,删除hNewBmp,hNewDc;
你的情况是未使用 SelectObject (hOldObj),恢复旧对象。
CreateCompatibleBitmap
均创建了内存实体。
使用SelectObject 会将 bmp(或其它对象)选入dc中,返回旧的对象句柄hOldObj。使用完成以后要selectobject(hOldObj)恢复旧的设备对象。
在使用
DeleteObject,删除hNewBmp,hNewDc;
你的情况是未使用 SelectObject (hOldObj),恢复旧对象。
展开全部
第二次创建前必须用 DeleteObject 释放
参考资料: http://topic.csdn.net/t/20010722/00/203790.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调用GetLastError来判断错误原因啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询