关于单文档画线的问题

xsq2132276 2008-07-14 01:44:53
在下建立的工程是基于单文档,在View类的OnDraw函数中调用MoveTo和LineTo函数画线,但是当窗口切换的时候或者最大化、最小化时候画出来的线就消失了,应该是由于刷屏的原因吧,请问这怎样解决?谢谢!
...全文
176 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
deryker 2008-07-17
  • 打赏
  • 举报
回复
用内存DC,在第17章
deryker 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 xsq2132276 的回复:]
引用 11 楼 deryker 的回复:
你首先得弄清楚主线程才是界面线程,其他程序掠过,再恢复其他线程中话的图,你的方案可能不是最佳方案

有道理,不过恢复其他线程中画的图有没有简单的办法?还是必须在主线程的OnDraw中重画?
[/Quote]

可以用位图拷贝,相关内容可参考《MFC windows程序设计》有关章节
xsq2132276 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 deryker 的回复:]
你首先得弄清楚主线程才是界面线程,其他程序掠过,再恢复其他线程中话的图,你的方案可能不是最佳方案
[/Quote]
有道理,不过恢复其他线程中画的图有没有简单的办法?还是必须在主线程的OnDraw中重画?
deryker 2008-07-15
  • 打赏
  • 举报
回复
你首先得弄清楚主线程才是界面线程,其他程序掠过,再恢复其他线程中话的图,你的方案可能不是最佳方案
xsq2132276 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 deryker 的回复:]
你这根本没用到OnDraw函数啊
[/Quote]
我后来才改用OnDraw里面画线达到效果,发帖表述不准确,修改不了。。。
xsq2132276 2008-07-15
  • 打赏
  • 举报
回复
如果在OnDraw中用pDC画线,只要每次触发OnDraw时候再画一遍,这样就不会消失
但有没有更加简单的办法,使通过其它函数在视图画的线不会因窗口改动而消失呢?
deryker 2008-07-15
  • 打赏
  • 举报
回复
你这根本没用到OnDraw函数啊
xsq2132276 2008-07-15
  • 打赏
  • 举报
回复
如何在OnDraw中用pDC画线,只要每次触发OnDraw时候再画一遍,这样就不会消失
但有没有更加简单的办法呢?
xsq2132276 2008-07-15
  • 打赏
  • 举报
回复
没及时回复各位,不好意思
我是在一个线程中画线的,使用一个菜单启用它画线,跟用OnDraw的参数pDC来绘图应该差不多,各位请看:
CMyView* m_view= (CMyView*) pParam; //CMyView是单文档的视图类
CClientDC pDC(m_view);
……
pDC.MoveTo(data[i].x,data[i].y);
pDC.LineTo(data[i+1].x,data[i+1].y);
……
画线完毕之后如何使它不消失呢?
xsq2132276 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 datoucaicai 的回复:]
引用 2 楼 Mackz 的回复:
你是用OnDraw的参数pDC来绘图的吗?


同问?
[/Quote]
没及时回复各位,不好意思
我是在一个线程中画线的,使用一个菜单启用它画线,跟用OnDraw的参数pDC来绘图应该差不多,各位请看:
CMyView* m_view= (CMyView*) pParam; //CMyView是单文档的视图类
CClientDC pDC(m_view);
……
pDC.MoveTo(data[i].x,data[i].y);
pDC.MoveTo(data[i+1].x,data[i+1].y);
……
画线完毕之后如何使它不消失呢?
go_go_vip 2008-07-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Mackz 的回复:]
你是用OnDraw的参数pDC来绘图的吗?
[/Quote]
datoucaicai 2008-07-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Mackz 的回复:]
你是用OnDraw的参数pDC来绘图的吗?
[/Quote]

同问?
菜牛 2008-07-14
  • 打赏
  • 举报
回复
你是用OnDraw的参数pDC来绘图的吗?
ouyh12345 2008-07-14
  • 打赏
  • 举报
回复
把起点和终点的坐标保存起来

15,979

社区成员

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

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