CDC绘图

gongweilin123456789 2012-07-25 04:53:32
如下代码效果上不起作用:
CDC *pdc=this->GetDC();
CRect rect;
GetClientRect(&rect);
CDC memDC;
memDC.CreateCompatibleDC(pdc);
memDC.FillRect(&rect,&CBrush(RGB(0,0,255)));
pdc->StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,rect.Width(),rect.Height(),SRCCOPY);
memDC.DeleteDC();
ReleaseDC(pdc);
纠结中.....
求高手指点。
...全文
73 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
CRect rect;
GetClientRect(&rect);
CBitmap Bitmap;
CDC memDC;
memDC.CreateCompatibleDC(pdc);
Bitmap.CreateCompatibleBitmap(pdc, rect.Width(), rect.Height());
memDC.SelectObject(&Bitmap);
memDC.FillRect(&rect,&CBrush(RGB(0,0,255)));
pdc->StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,rect.Width(),rect.Height(),SRCCOPY);
memDC.DeleteDC();
多谢!
南山五味子 2012-07-25
  • 打赏
  • 举报
回复
CDC *pdc=this->GetDC();
CRect rect;
GetClientRect(&rect);
CBitmap Bitmap;

CDC memDC;
memDC.CreateCompatibleDC(pdc);
Bitmap.CreateCompatibleBitmap(memDC, rect.iWidth, rect.iHeight);
memDC.SelectObject(Bitmap);
memDC.FillRect(&rect,&CBrush(RGB(0,0,255)));
pdc->StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,rect.Width(),rect.Height(),SRCCOPY);
memDC.DeleteDC();
ReleaseDC(pdc);
schlafenhamster 2012-07-25
  • 打赏
  • 举报
回复
要产生的兼容位图,再选入到memDC才能Fill
否则memdc没有空的bmp
fill不了的。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧