关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
来源:互联网 发布:查看执行过的sql语句 编辑:程序博客网 时间:2024/05/28 09:33
OnPaint()是CWnd的类成员,同时负责响应WM_PAINT消息。
OnDraw()是CVIEW的成员函数,并且没有响应消息的功能。这就是为什么你用VC生成的程序代码时,在视图类只有OnDraw没有OnPaint的原因。
我们一般用OnPaint维护窗口的客户区(例如我们的窗口客户区加一个背景图片),用OnDraw维护视图的客户区(例如我们通过鼠标在视图中画图)。
1.OnPaint: WM_PAINT
消息函数,接受到WM_PAINT消息时,首先调用的是onpaint(),onpaint()再调用ondraw()
OnPaint()-àOnDraw();
2.OnDraw:虚函数,需要重载
3.OnDrawItem: WM_DRAWITEM
子控件有自画属性且控件需重画时,父窗口会调用该函数
在具有Owner Draw属性的控件需要重画的时候,就会激发OnDrawItem
当自画子按钮控件、组合框控件、列表框控件或菜单的可视部分需要被画出时调用这个函数
OnDrawItem()-àDrawItem();
4.DrawItem:虚函数,需要重载
如果使用DrawItem来自画控件,需要给控件加上自画样式,然后重载该控件类的自画函数(DrawItem)函数,
如果该控件的父窗口提供了ON_WM_DRAWITEM消息映射宏,并重载了OnDrawItem函数,则重画消息会由父窗口处理,父窗口调用基类的OnDrawItem来调用派生的子控件的DrawItem函数.
- 关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
- 关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
- 关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
- 重绘控件中OnPaint、OnDraw、OnDrawItem和DrawItem的区别
- onDraw和onPaint函数的区别
- OnDraw和OnPaint函数的区别
- OnPaint 和 OnDraw函数的区别
- onDraw和onPaint函数的区别
- OnDraw和OnPaint函数的区别
- OnDraw和OnPaint函数的区别
- OnCtrlColor,OnDrawItem,DrawItem,OnPaint之间关系
- OnCtrlColor,OnDrawItem,DrawItem,OnPaint之间关系
- OnDraw与OnPaint的区别
- OnPaint和OnDraw的区别
- Onpaint和OnDraw的区别
- OnDraw()和OnPaint()的区别
- OnPaint和OnDraw的区别
- OnPaint和OnDraw的区别
- jquery对象与dom对象的区别
- 虚拟激励法相关记录
- 关于android开发时,对src中包名的修改
- jbpm4的流程监控程序[3] 流程图监控展示,基于mootools
- 图片连续滚动
- 关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
- 顶点着色器入门
- NYOJ 兔子的烦恼(二)
- 必须知道的
- 用DataTable.Compute()报错
- easyTemplate.js
- ora-01115错误
- AVL树 郁闷的出纳员 [NOI 2004] [平衡树解法]
- 用filter下载文件