问题描述
- VC6.0 中 图形和坐标的绘制的简单问题,求救!!
-
VC 6.0 中直接在单文档应用程序的View类视图上给绘制坐标轴应该在哪个函数里进行?并且要完成坐标和图形的重绘应该在哪个函数里进行??或者讲述一下OnDraw()、OnPaint()、OnInitialUpdate()、OnEraseBkgnd(pDC)这几个函数的作用和在MFC中的调用顺序吧! 谢谢啦,不胜感激了!!!
解决方案
单文档应用程序的绘图是在OnDraw中完成的,把绘图的动作放在OnDraw中,把坐标计算可以放在外面,然后重绘调用 Invalidate()函数来完成
解决方案二:
首先,OnInitialUpdate 是 CFrameWnd 的初始化,为了和普通的 CWnd.OnCreate 区分开来。
根据不同的刷新要求,可能会触发一次或多次 OnEraseBkgnd() 调用、也可能一次都不触发。
重绘会调用 OnPaint(),然后 OnPaint() 会调用 OnDraw()。
通常是 OnPaint 中根据输出的设备不同、或者是否有缓冲传给 OnDraw() 不同的 dc;
而 OnDraw() 只负责纯粹的绘图。
一般只要实现 OnDraw() 就行了。
如果刷默认底色有闪烁,可以重载 OnEraseBkgnd() 直接返回 TRUE。
时间: 2024-11-01 12:16:23