duilib库分析日志 (一) : 简单了解下duilib库
来源:互联网 发布:直播美颜软件下载 编辑:程序博客网 时间:2024/05/17 23:48
最近一直在想做个DirectUI库. 先找了几个UI库, 也没做过啥Demo. 1年前看过国外的viksoe库(URL: http://www.viksoe.dk/code/index.htm) 因水平有艰也没能坚持看完.
后来找到国内一款牛X的开源库duilib, (URL: www.duilib.com)这个团队还是基于viksoe库开发的, 但完善的很好. 其中有个UIDesigner设计器可以快捷的设计出duilib库可以解析的XML文件( 设计者的主页: http://www.taxue.org ). 以上都是牛人. 其实到他们的BBS会有很多文档可以参考. http://bbs.duilib.com
本人只想快点跟上他们, 所以会陆续在此记录理解到的东西.
1. 整个框架我没法画出来, 还好"踏雪流云"已经画出.(URL: http://www.taxue.org/?p=55 )可以参考下.
2. 简单记录下主要类的功能
CPaintManagerUI很重要的一个类, 管理所有控件树, 并对控件相关消息产生相应的用户层的事件. 显示控件到用户窗口上.
CWindowWnd 相关于WTL库里的CWindow库. 有创建窗口对象, 注册窗口类, 接管消息处理的函数. 也就用户自定窗口的父类.
CControl 所有DUI控件的基础类. 以后的所有控件都会从这个类继承. 包含了控件所需的基本信息.
CContainter窗口类的基类. 所有布局类, 列表控件, 组合框, 都会继承于此. 功能是可以放置基本控件或自定义控件类对象. 还有水平于垂直滚动条功能.
CDialogBuilder解析Skin相关的XML文件, 并转为控件树. 包含了读文件/解压包文件功能, 会利用CMarkup类解析XML中的元素和属性, 并设置到相应的控件对象中.
CDelegate相关类挺有意思, 类似C#里的委托功能.
CRender类对于区域管理打包打的不错.(主要操作HRGN对象)
CRenderEngine 这类纯粹就是用于方便画图. 有关基本线条, 贴图, 透明贴图很有帮助.
恩.... 现在就大概看了这些. 个人大概的分析, 所以难免会出错. 希望能指正. 下回看下消息处理流程.
- duilib库分析日志 (一) : 简单了解下duilib库
- DuiLib库简单分析 --- 1
- duilib库分析日志 (二) : 消息流程分析
- DuiLib库
- duilib库
- DuiLib库
- DuiLib库
- duilib库-----消息流程分析
- duilib库分析: 消息流程分析
- duilib库分析: 消息流程分析
- duilib库分析: 消息流程分析
- Duilib分析
- duilib 入门一之界面库基本原理
- Duilib界面库入门笔记(一)
- duilib 入门一之界面库基本原理
- windows下duilib库开发001
- Duilib编译静态库
- 初识Duilib界面库
- powerdesigner12报constraint name maximum length is limited错误解决方法
- kohana中的路由规则
- java序列化(Serializable)的作用和反序列化
- ubuntu9下shell命令中的function的用法
- Vista UAC研究之一——UAC 相关的基本技术
- duilib库分析日志 (一) : 简单了解下duilib库
- 通过JApplet连接derby数据库
- 导出CSV文件工具类
- 哈佛为什么群星闪耀?
- ACCESS数据库“操作必须使用一个可更新的查询”
- 根据学习建立一个Simple Hibernate with Log4J and Junit Log
- SQL Server 2005 不允许远程连接解决方法
- <meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7” />详解
- 对象、类和消息--ObjC