关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
来源:互联网 发布:无锡胡埭加工中心编程 编辑:程序博客网 时间:2024/05/23 14:28
而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函数. 0 0
- 关于控件重绘函数/消息 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的区别
- Windows 7 光盘卷标的解析?
- JAVA_异常处理
- bzoj 2005: [Noi2010]能量采集
- 关于C++中getline()函数的一个陷阱
- Java笔记
- 关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
- 剑指offer-面试题16.反转链表
- Hdu1068(二分图的最大匹配)
- cloudstack 添加物理主机可能错误总结
- 【湖南集训 4.7】yist
- Android-通过Java代码来实现属性动画
- hrbust 1426 集训队的晚饭【dp】
- 剑指offer-面试题17.合并两个排序的链表
- ToolBar的使用