2 yatou2015 yatou2015 于 2015.05.29 10:10 提问

VC6.0 中 图形和坐标的绘制的简单问题,求救!!

VC 6.0 中直接在单文档应用程序的View类视图上给绘制坐标轴应该在哪个函数里进行?并且要完成坐标和图形的重绘应该在哪个函数里进行??或者讲述一下OnDraw()、OnPaint()、OnInitialUpdate()、OnEraseBkgnd(pDC)这几个函数的作用和在MFC中的调用顺序吧! 谢谢啦,不胜感激了!!!

2个回答

lx624909677
lx624909677   Ds   Rxr 2015.05.29 10:56

单文档应用程序的绘图是在OnDraw中完成的,把绘图的动作放在OnDraw中,把坐标计算可以放在外面,然后重绘调用 Invalidate()函数来完成

Tiger_Zhao
Tiger_Zhao   Rxr 2015.05.29 15:39

首先,OnInitialUpdate 是 CFrameWnd 的初始化,为了和普通的 CWnd.OnCreate 区分开来。
根据不同的刷新要求,可能会触发一次或多次 OnEraseBkgnd() 调用、也可能一次都不触发。
重绘会调用 OnPaint(),然后 OnPaint() 会调用 OnDraw()。
通常是 OnPaint 中根据输出的设备不同、或者是否有缓冲传给 OnDraw() 不同的 dc;
而 OnDraw() 只负责纯粹的绘图。

一般只要实现 OnDraw() 就行了。
如果刷默认底色有闪烁,可以重载 OnEraseBkgnd() 直接返回 TRUE。

Csdn user default icon
上传中...
上传图片
插入图片