请问OnPaint和OnDraw的具体功能差别是什么?
除了OnPaint只用于屏幕显示,而OnDraw还能用于打印等方面,还有什么区别?如果,在一个View类里面它们两个同时出现了,如果只用于屏幕显示,那有什么分工呢?
除了OnPaint只用于屏幕显示,而OnDraw还能用于打印等方面,还有什么区别?如果,在一个View类里面它们两个同时出现了,如果只用于屏幕显示,那有什么分工呢?
解决方案 »
- 在CRectTracker中GetPixel的问题
- 怎样使用PostMessage把一个Struct传给一个窗体?
- 求一算法,年差12,双亲同意,成全结婚?(MM>GG)
- 怎样使CListCtrl在初始时显示一个图标?(在线等啊)请讲详细点,我是菜鸟
- 怎样让MainFrame知道一个工具条关闭了?急!
- 进程之间传输数据的所有方法有哪些?
- 请教熟悉“曲线拟合”的大侠,急!!!!!!!!!!!!!!!
- 500分:如何使两个应用程序共享一块内存?内存共享?太难了?有没有人知道?我会添5天共500分
- "eh.h is only for C++!" 是什么錯誤!
- 如何同时显示多个同样的非模态对话框?
- uheeyc进来领分
- 有没有解琐硬盘的程序?
OnPaint()是消息響應函數,默認是WM_PAINT消息的入口.
OnDraw()是虛函數,是被OnPaint( )調用的函數.
OnPaint( )優先于OnDraw( ),如果重載了OnPaint( ),則不會響應OnDraw( ).如果需要,則需明確調用OnDraw( )函數.
没什么和!
就是OnDraw里面的东西按打印就会输出到打印机!
OnDraw()是虛函數,既然是虛函數,就可以被重载(重写)。
的确,OnPaint()用来响应WM_PAINT消息,视类的OnPaint()内部根据是打印还是屏幕绘制分别以不同的参数调用OnDraw()虛函數。
所以在OnDraw()里你可以区别对待打印和屏幕绘制。
其实,MFC在进行打印前后还做了很多工作,调用了很多虚函数,比如OnPreparePrint()等。
的确,OnPaint()用来响应WM_PAINT消息,视类的OnPaint()内部根据是打印还是屏幕绘制分别以不同的参数调用OnDraw()虛函數。
所以在OnDraw()里你可以区别对待打印和屏幕绘制。
其实,MFC在进行打印前后还做了很多工作,调用了很多虚函数
尤其是frank_xu