新手memdc问题

luweicsdn 2003-07-21 11:20:53
正在看mfc的书,有下面一个问题请教:
新建一个document/view工程.
在CView派生类中添加成员函数:CBitmap bitmap,CDC dcMem;
然后覆盖OnCreate(...);
{
if(CView::OnCreate(...)==-1)
return -1;

//写入:
CClientDC dc(this);
bitmap.CreateCompatibleBitmap(&dc,100,100);
dcMem.CreateCompatibleDC(&dc);
CBrush brush(RGB(0,0,255));
CBitmap *pOldBitmap = dcMem.SelectObject(&bitmap);
dcMem.FillRect(CRect(0,0,100,100),&brush);
dcMem.SelectObject(pOldBitmap);
return 0;

然后在CView派生类的OnDraw(CDC *pDC)中写入:

pDC->BitBlt(0,0,100,100,&dcMem,0,0,SRCCOPY);

编译后在视图中没有位图,请问我该怎么改?
...全文
44 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
功名半纸 2003-07-21
  • 打赏
  • 举报
回复
//写入:
CClientDC dc(this);
bitmap.CreateCompatibleBitmap(&dc,100,100);
dcMem.CreateCompatibleDC(&dc);
CBrush brush(RGB(0,0,255));
CBitmap *pOldBitmap = dcMem.SelectObject(&bitmap);
dcMem.FillRect(CRect(0,0,100,100),&brush);
注释掉这行//dcMem.SelectObject(pOldBitmap);

你清除了DCMEM的内容
luweicsdn 2003-07-21
  • 打赏
  • 举报
回复
谢谢,解决了

19,469

社区成员

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

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