关于C++ CDC的BitBlt的问题

RECTdc_rect;GetClientRect(&dc_rect);HDCm_DC=GetDC()->m_hDC;HDCm_Buffer_DC=CreateCompa... 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画是有效的。
展开
 我来答
百度网友c61d935a2
2010-05-07 · TA获得超过224个赞
知道答主
回答量:103
采纳率:0%
帮助的人:151万
展开全部
CreateCompatibleDC(m_DC);
创建后的DC里背景位图大小为0,后面的画图语句无效.

在CreateCompatibleDC(m_DC);后增加下面代码即可:
CBitmap bmpTemp;
bmptemp.Createcompatiblebitmap(.....);
m_Buffer_DC.selectobject( bmpTemp );
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式