| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 688 人关注过本帖
标题:为什么在客户区绘图不显示,求大神解决。
取消只看楼主 加入收藏
lanriver
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:133
专家分:101
注 册:2008-8-9
结帖率:70.59%
收藏
已结贴  问题点数:60 回复次数:1 
为什么在客户区绘图不显示,求大神解决。
MFC多文档程序为什么绘图不显示,双缓冲真的不明白,第一次绘图就被拦在了门外。
void CShowDrawView::OnDraw(CDC* pDC)
{
    CShowDrawDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here
     int y=(GetDocument()->bY);//高
     int x=(GetDocument()->bX);//宽
     CDC   MemDC;
     CBitmap   MemBitmap;   
     MemDC.CreateCompatibleDC(pDC);
     MemBitmap.CreateCompatibleBitmap(pDC,x,y);
     CBitmap  *pOldBit=MemDC.SelectObject(&MemBitmap);
     MemDC.FillSolidRect(0,0,x,y,RGB(255,255,0));//此处没有绘图????????
      while(y>0)
     {
       while (x>0)
        {
         MemDC.SetPixel(x,y,RGB(255,0,255));
       /*这里绘图同样没有响应,改成pDC调用打开同一个图片两次还能闪烁的显示到屏幕,
       郁闷到蛋疼。MFC真的太强大,初学真的容易被挡在门外,实在无法明白*/
        x--;
        }
        y--;
     }
pDC->BitBlt(0,0,x,y,&MemDC,0,0,SRCCOPY); //是不是内存MemDC里没有绘图,还是pDC绘的图形被覆盖了,求解?
MemBitmap.DeleteObject();
MemDC.DeleteDC();
}
搜索更多相关主题的帖子: void 
2012-08-19 23:25
lanriver
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:133
专家分:101
注 册:2008-8-9
收藏
得分:0 
回复 2楼 zhoufeng1988
谢谢zhoufeng1988指点和鼓励!今晚仔细排查了下程序,发现是函数调用的问题,正在排查当中。

[ 本帖最后由 lanriver 于 2012-8-23 22:40 编辑 ]
2012-08-21 22:50
快速回复:为什么在客户区绘图不显示,求大神解决。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016557 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved