关于C++ CDC的BitBlt的问题

RECT dc_rect;
GetClientRect(&dc_rect);
HDC m_DC = GetDC()->m_hDC;
HDC m_Buffer_DC = CreateCompatibleDC(m_DC);
//BkMode( m_Buffer_DC, TRANSPARENT);
//SetTextColor(m_Buffer_DC,RGB(255,255,255));
MoveToEx(m_Buffer_DC,1,1,NULL);
LineTo(m_Buffer_DC,100,100);
int i=BitBlt(m_DC,0,0,dc_rect.right,dc_rect.bottom,m_Buffer_DC,0,0,SRCCOPY);

这段代码执行后为什么没能画条现呢?如果直接给m_DC画是有效的。

CreateCompatibleDC(m_DC);
创建后的DC里背景位图大小为0,后面的画图语句无效.

在CreateCompatibleDC(m_DC);后增加下面代码即可:
CBitmap bmpTemp;
bmptemp.Createcompatiblebitmap(.....);
m_Buffer_DC.selectobject( bmpTemp );
温馨提示:答案为网友推荐,仅供参考
相似回答