首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

OnDraw与OnPaint的差异

2013-09-13 
OnDraw与OnPaint的区别1、Invalidate()和InvalidateRect()其实是触发对OnPaint()函数的调用,OnPaint()函数

OnDraw与OnPaint的区别

1、Invalidate()和InvalidateRect()其实是触发对OnPaint()函数的调用,OnPaint()函数调用OnDraw()函数,OnDraw函数还需要同时支持打印机输出。OnPaint()函数和OnPrint()函数都要调用OnDraw(),于是同样的绘图代码既可以用于屏幕输出,也可以用于打印机输出。在编程中,一般重载OnDraw()就可以了。如果定义了OnPaint()函数,并且在OnDraw()里面有要显示的内容,那么需要显示的调用OnDraw(),即OnDraw(&dc)。

2、OnDraw()是被OnPaint()调用的虚函数,在CView中定义为纯虚函数,因此必须被重载,其设备上下文由OnPaint()提供,OnPaint()是响应消息WM_PAINT的响应函数。建议编程时使用OnDraw。 


热点排行