SelectObject问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 12:08:27
HBITMAP hBitmap, hOldBitmap;
......
hOldBitmap=::SelectObject(hMemDC,hBitmap);
但是它提示:
error C2440: '=' : cannot convert from 'void *' to 'struct HBITMAP__ *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast

为什么是'void *' to 'struct HBITMAP__ *'
我去MSDN上面查了一下:
HGDIOBJ SelectObject(
HDC hdc, // handle to DC
HGDIOBJ hgdiobj // handle to object
);
返回不是void啊!!!急!急!急!急!急!
这个该怎么解决啊...

用强制类型转换

hOldBitmap = (HBITMAP)::SelectObject(hMemDC,hBitmap);

这个强制转换就行了。
不过你凭什么说 SelectObject 返回的不是 void* 呢,你自己看下 HGDIOBJ 的定义吧。