控件重绘一
来源:互联网 发布:淘宝刷钻一天完成 编辑:程序博客网 时间:2024/05/21 11:36
1、按照MS设计思想,父窗口负责子窗口重绘,在父窗口允许你重绘每一个子控件
这也就是说MS可以是你在不重载通用控件的情况下实现子控件重绘,一定程度上减少了开发人员的负担
并不知道进行了哪些处理,只做了自己的工作,这也就是为什么,在MS平台下开发时,很多时候做了自己的处理后还要调用响应的父类的成员函数
有时会发现,我设置了界面,为什么界面没有变化,而我使窗口最小后再还原界面就如期望了,产生这种问题的原因:界面刷新问题
如果用户设置了WS_CLIPCHILD 和WS_CLIPSLIBLING 两个属性后,会使父窗口刷新后并不会使子控件区域无效,子窗口也就不会响应刷新
解决办法:调用子控件的Invalidate(true),或者 redrawwindow刷新子窗口
这也就是说MS可以是你在不重载通用控件的情况下实现子控件重绘,一定程度上减少了开发人员的负担
当然,你可以派生自己的控件,在子控件里来实现重绘,以方便开发人员封装自己的控件,以供它用,来达到软件重用目的
WM_CONTCOLOR WM_DRAWITEM,这两个消息是在父窗口中处理的
3、派生自己的控件,MS提供了一个虚函数OnDrawItem方法,重载它就可以重绘控件本身了
并不知道进行了哪些处理,只做了自己的工作,这也就是为什么,在MS平台下开发时,很多时候做了自己的处理后还要调用响应的父类的成员函数
由此可以推断在父窗口的OnPaint函数中激发了OnDrawItem,每执行一次OnPaint如果没有进行窗口刷心逻辑处理的话,就会响应的调用OnDrawItem方法执行用户自己的绘制
有时会发现,我设置了界面,为什么界面没有变化,而我使窗口最小后再还原界面就如期望了,产生这种问题的原因:界面刷新问题
如果用户设置了WS_CLIPCHILD 和WS_CLIPSLIBLING 两个属性后,会使父窗口刷新后并不会使子控件区域无效,子窗口也就不会响应刷新
解决办法:调用子控件的Invalidate(true),或者 redrawwindow刷新子窗口
0 0
- 控件重绘一
- 控件
- 控件
- 控件
- 控件
- 控件
- 控件
- 控件
- 控件
- 控件
- 控件
- 控件
- 控件
- *****控件****
- 控件
- 控件
- 控件
- 控件
- sleep和wait区别
- java实现跨数据库关联运算的简便方法
- android 创建AVD时 无系统镜像 No target selected
- JavaWeb - XML解析 - SAX
- Timer的schedule和scheduleAtFixedRate方法的区别解析
- 控件重绘一
- Runloop学习
- js修改css属性
- Struts2 验证码图片实例
- 《js实现图片缓慢缩放的效果》之学习总结
- gcc Options That Control Optimization
- 网页中复制代码的功能(jscopy) 如何制作网页(代码复制)
- 怎样批量删除.svn文件
- JavaScript对象整理