[置顶] UILite——C++类库(XLib非界面功能库+UI和DirectUI库)简介
2013-06-14 22:22
423 查看
UILite是一款继承自WTL以及和界面无关的功能库的合集,能够生成很小的可执行文件。如果你也象我一样希望自己的程序又小又快的话,UILite就是你的选择。当然,我们还要克服一些障碍:
1) ATL/WTL样式的模板类初看起来有点怪异
2) 没有类向导的支持,所以要手工处理所有的消息映射。
3) MSDN没有正式的文档支持,你现在看到的就是UILite的最权威的文档
4) 买不到参考书籍
5) 没有微软的官方支持, 因为这是我写的库
6) ATL/WTL的窗口与MFC的窗口有很大的不同,你所了解的有关MFC的知识并不全部适用与WTL。 UILite的界面部分基于WTL的。
从另一方面讲,UILite 也有它自身的优势:
1) 不需要学习或掌握复杂的文档/视图框架。
2) 具有WINDOWS的基本的界面特色,支持大部分WINDOWS或者MFC的窗口控件
3) 增强了一些WINDOWS/MFC的特性,比如对浏览器的支持,WEBBrowser支持了JS的调用和回调,方便编写和网页有互动的程序。
4) 可生成较小的可执行文件,得益于设计优良的WTL。
5) 你可以修正自己使用的UILite 中的错误(BUG)而不会影响其他的应用程序,因为UILite的界面部分全是用模版实现的,所以你看到的是所有的源码
6)DirectUI支持,DirectUI是指无窗口UI自绘界面,即界面上所有的控件都不是窗口,而是直接绘制出来的,UILite支持基于XML配置的动态DirectUI界面编程,这里实现了业务和界面分离,界面实现了布局和资源分离,资源实现了语言资源和非语言资源分离,对于开发者来说,这些资源的管理都不用关心,这些UILite都已经做好了,窗口部分实现了DirectUI和标准WINDOWS窗口混合使用,也就是开发这可以在DirectUI窗口中包含标准Windows窗口,听起来很神奇是吧,这些UILite也帮你做好了。
7)丰富的字符串处理,查找、替换、hash、字符集转换、反向字符串操作、内存字符串操作、字符串和数据(int,,long,double\rect,font,color)等等的无缝转换
8) 加密解密,支持绝大部分加密解密操作
9)压缩解压
10)URL操作,支持大部分网络协议(HTTP/FTP)等
11)SOCKET网络、UILite使用模版技术实现了网络的高度的可定制和高性能要求。
12)Event事件模型,UILite使用模版技术加上智能指针技术实现了数据的事件驱动模型,有效的解决了数据业务模块的高效智能通讯问题,实现了模块间的高内聚。
13)内存池\、对象池,解决了内存碎片问题
14)线程/线程池,让开发者不用再关心线程的强杀导致的种种问题,智能线程分配技术,有效的节省了系统线程开销。
15)轻量级的HTTP服务器支持
16)) XML支持,作者设计的XML解析器,是世界上解析最快的XML解析器,同时支持宽字符和窄字符两种字符,支持直接内存解析,支持大部分格式的XML文档,UILite的DirectUI就是基于Markup的XML解析器。
17) INI格式文件的解析支持,命令行解析的支持等
18)文件操作的封装,支持File、TextFile、MemoryFile、IndexFile等
19)辅助的统计相关支持,调试、日志、时间统计等。
20)时间的封装
21)进程间的通讯等
22) 数据库支持,支持各种数据库的访问,以及内嵌到程序的SQLite的封装
23) 脚本的支持,UILite支持UI的脚本交互,也可以支持非UI程序的脚本交互,支持javascript/vbs等脚本交互
24) 最低支持VC6及以上版本,非界面库支持跨平台实现。
在接下来的文章中,我将介绍UILite的各个方面,先从UI部分介绍。
这里贴出使用UILite的案例:
1) ATL/WTL样式的模板类初看起来有点怪异
2) 没有类向导的支持,所以要手工处理所有的消息映射。
3) MSDN没有正式的文档支持,你现在看到的就是UILite的最权威的文档
4) 买不到参考书籍
5) 没有微软的官方支持, 因为这是我写的库
6) ATL/WTL的窗口与MFC的窗口有很大的不同,你所了解的有关MFC的知识并不全部适用与WTL。 UILite的界面部分基于WTL的。
从另一方面讲,UILite 也有它自身的优势:
1) 不需要学习或掌握复杂的文档/视图框架。
2) 具有WINDOWS的基本的界面特色,支持大部分WINDOWS或者MFC的窗口控件
3) 增强了一些WINDOWS/MFC的特性,比如对浏览器的支持,WEBBrowser支持了JS的调用和回调,方便编写和网页有互动的程序。
4) 可生成较小的可执行文件,得益于设计优良的WTL。
5) 你可以修正自己使用的UILite 中的错误(BUG)而不会影响其他的应用程序,因为UILite的界面部分全是用模版实现的,所以你看到的是所有的源码
6)DirectUI支持,DirectUI是指无窗口UI自绘界面,即界面上所有的控件都不是窗口,而是直接绘制出来的,UILite支持基于XML配置的动态DirectUI界面编程,这里实现了业务和界面分离,界面实现了布局和资源分离,资源实现了语言资源和非语言资源分离,对于开发者来说,这些资源的管理都不用关心,这些UILite都已经做好了,窗口部分实现了DirectUI和标准WINDOWS窗口混合使用,也就是开发这可以在DirectUI窗口中包含标准Windows窗口,听起来很神奇是吧,这些UILite也帮你做好了。
7)丰富的字符串处理,查找、替换、hash、字符集转换、反向字符串操作、内存字符串操作、字符串和数据(int,,long,double\rect,font,color)等等的无缝转换
8) 加密解密,支持绝大部分加密解密操作
9)压缩解压
10)URL操作,支持大部分网络协议(HTTP/FTP)等
11)SOCKET网络、UILite使用模版技术实现了网络的高度的可定制和高性能要求。
12)Event事件模型,UILite使用模版技术加上智能指针技术实现了数据的事件驱动模型,有效的解决了数据业务模块的高效智能通讯问题,实现了模块间的高内聚。
13)内存池\、对象池,解决了内存碎片问题
14)线程/线程池,让开发者不用再关心线程的强杀导致的种种问题,智能线程分配技术,有效的节省了系统线程开销。
15)轻量级的HTTP服务器支持
16)) XML支持,作者设计的XML解析器,是世界上解析最快的XML解析器,同时支持宽字符和窄字符两种字符,支持直接内存解析,支持大部分格式的XML文档,UILite的DirectUI就是基于Markup的XML解析器。
17) INI格式文件的解析支持,命令行解析的支持等
18)文件操作的封装,支持File、TextFile、MemoryFile、IndexFile等
19)辅助的统计相关支持,调试、日志、时间统计等。
20)时间的封装
21)进程间的通讯等
22) 数据库支持,支持各种数据库的访问,以及内嵌到程序的SQLite的封装
23) 脚本的支持,UILite支持UI的脚本交互,也可以支持非UI程序的脚本交互,支持javascript/vbs等脚本交互
24) 最低支持VC6及以上版本,非界面库支持跨平台实现。
在接下来的文章中,我将介绍UILite的各个方面,先从UI部分介绍。
这里贴出使用UILite的案例:
相关文章推荐
- UILite——C++类库(XLib非界面功能库+UI和DirectUI库)简介
- atitit.D&D drag&drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结
- Windows系统功能模拟 C++(EasyX插件)—— 3rd 界面绘制(一)
- atitit.D&D drag&drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结
- 跨平台C++ 功能全面的Socket类库,支持TCP,UDP,限速等等_陈华_新浪博客
- Windows系统功能模拟 C++(EasyX插件)—— 6th 界面绘制(四)
- PDF补丁丁功能简介及界面截图
- Shader Forge界面功能简介
- NBear视频 - 0.1 NBear类库结构及功能简介[发布时间:9/5]
- Windows系统功能模拟 C++(EasyX插件)—— 4th 界面绘制(二)
- C++ 轻量级界面库DuiLib库简介(一)—XML基础配置
- NBear视频 - 0.1 NBear类库结构及功能简介[发布时间:9/5]
- java中类似c++ goto功能---------label简介
- 跨平台C++ 功能全面的Socket类库,支持TCP,UDP,限速等等
- Axure的界面功能简介
- Fiddler4入门篇--2(Fiddler4界面功能简介)
- c++类库简介
- [置顶] 为什么 qt 成为 c++ 界面编程的第一选择?
- Windows系统功能模拟 C++(EasyX插件)—— 5th 界面绘制(三)
- C++ GUI QT 编程(第二版) -第4章 实现功能源码简介_1