// 返回位图
HBITMAP YourClass::GetBitMap(CxImage& cxImage)
{
HDC dc = ::GetDC(NULL);
HBITMAP hBitMap = cxImage.MakeBitmap(dc);
::ReleaseDC(NULL, dc);
return hBitMap;
}
// 实际绘制
void YourClass::PaintBitMap(CxImage& cxImage)
{
HBITMAP map = GetBitMap(cxImage);
CRect rect;
// 获取源设备DC
CDC* hdc = YourPaintStaticObject.GetDC();
// 获取客户端范围
YourPaintStaticObject.GetClientRect(&rect);
// 创建兼容DC
CDC cHdc;
cHdc.CreateCompatibleDC(NULL);
// 创建兼容位图
CBitmap cMap;
cMap.CreateCompatibleBitmap(hdc, rect.Width() - 10, rect.Height() - 10);
// 兼容DC选入赚容位图
cHdc.SelectObject(&cMap);
// 源位图DC
CDC sHdc;
sHdc.CreateCompatibleDC(NULL);
// 源位图对象
CBitmap* sMap = CBitmap::FromHandle(map);
// 将位图选入源DC
sHdc.SelectObject(sMap);
YourPaint