2 qq770104940 qq770104940 于 2016.03.21 12:08 提问

跪求SelectObject 与CDC 之间的问题解决方案
CDC *m_pDC;
COLORREF ColorValue=RGB(255,255,255);
CRect rect=CRect(50,50,200,200);
CBrush newBrush;
CBrush *oldBrush;
newBrush.CreateSolidBrush(ColorValue);
oldBrush=m_pDC->SelectObject(&newBrush);

m_pDC->Rectangle(rect);
m_pDC->DrawEdge(rect,EDGE_SUNKEN,BF_RECT);
m_pDC->SelectObject(oldBrush);

调试结果: oldBrush=m_pDC->SelectObject(&newBrush);总是出错   句柄为NULL

2个回答

lx624909677
lx624909677   Ds   Rxr 2016.03.21 13:34
已采纳

CDC *m_pDC;,这个m_pDC只指向哪个DC的?你这么写是是声明一个CDC的对象而已,实例化呢?

qq770104940
qq770104940 您的指导让我恍然大悟 谢谢
一年多之前 回复
qq770104940
qq770104940 指导是 什么地方的问题了
一年多之前 回复
lxd1999
lxd1999   2016.03.21 12:54

少这一句
m_pDC = CreateCompatibleDC( );
请参考
HDC _hDeviceDCmask;
HDC _memDCmask;
HBITMAP _memBMPmask;

int cardX = _cardSize.cx;
int cardY = _cardSize.cy;


_hDeviceDCmask = ::GetDC(NULL);
_memBMPmask = CreateCompatibleBitmap(_hDeviceDCmask, cardX, cardY);
_memDCmask  = CreateCompatibleDC(_hDeviceDCmask);
_memDCmask.SelectObject( _memBMPmask);  
qq770104940
qq770104940 O(∩_∩)O谢谢
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!