当前位置: 首页 > article >正文

UILite——C++类库(XLib非界面功能库+UI和DirectUI库)简介

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的界面部分全是用模版实现的,所以你看到的是所有的源码

6DirectUI支持,DirectUI是指无窗口UI自绘界面,即界面上所有的控件都不是窗口,而是直接绘制出来的,UILite支持基于XML配置的动态DirectUI界面编程,这里实现了业务和界面分离,界面实现了布局和资源分离,资源实现了语言资源和非语言资源分离,对于开发者来说,这些资源的管理都不用关心,这些UILite都已经做好了,窗口部分实现了DirectUI和标准WINDOWS窗口混合使用,也就是开发这可以在DirectUI窗口中包含标准Windows窗口,听起来很神奇是吧,这些UILite也帮你做好了。

7)丰富的字符串处理,查找、替换、hash、字符集转换、反向字符串操作、内存字符串操作、字符串和数据(int,,long,double\rect,font,color)等等的无缝转换

8) 加密解密,支持绝大部分加密解密操作

9)压缩解压

10URL操作,支持大部分网络协议(HTTP/FTP)等

11SOCKET网络、UILite使用模版技术实现了网络的高度的可定制和高性能要求。

12Event事件模型,UILite使用模版技术加上智能指针技术实现了数据的事件驱动模型,有效的解决了数据业务模块的高效智能通讯问题,实现了模块间的高内聚。

13)内存池\、对象池,解决了内存碎片问题

14)线程/线程池,让开发者不用再关心线程的强杀导致的种种问题,智能线程分配技术,有效的节省了系统线程开销。

15)轻量级的HTTP服务器支持

16)) XML支持,作者设计的XML解析器,是世界上解析最快的XML解析器,同时支持宽字符和窄字符两种字符,支持直接内存解析,支持大部分格式的XML文档,UILiteDirectUI就是基于MarkupXML解析器。

17) INI格式文件的解析支持,命令行解析的支持等

18)文件操作的封装,支持FileTextFileMemoryFileIndexFile

19)辅助的统计相关支持,调试、日志、时间统计等。

20)时间的封装

21)进程间的通讯等

22) 数据库支持,支持各种数据库的访问,以及内嵌到程序的SQLite的封装

23) 脚本的支持,UILite支持UI的脚本交互,也可以支持非UI程序的脚本交互,支持javascript/vbs等脚本交互

24) 最低支持VC6及以上版本,非界面库支持跨平台实现。



  在接下来的文章中,我将介绍UILite的各个方面,先从UI部分介绍。

这里贴出使用UILite的案例:




http://www.lryc.cn/news/2413694.html

相关文章:

  • Linux操作系统介绍
  • 介绍个京阿尼的旧作
  • matlab水力学工具箱,水工设计工具箱免费版
  • 跨页传送-PreviousPage
  • 安卓应用《撕掉她的衣服》简化版
  • 新手唱歌从入门到精通,经典唱歌教程系列合集
  • 木马病毒表现手机中病毒/木马病毒对手机有用吗-手把手教白帽子自学
  • 解决笔记本电脑开机密码遗忘的几种方案,帮你轻松解除
  • 探索未来编程的新纪元:Eve语言
  • Windows Server 2003 Service Pack 2 安装和部署指南
  • sem_wait
  • 多进程和多线程
  • 全面解析msvcr100.dll丢失的5种解决方法,快速解决dll丢失问题
  • Linux嵌入式定义四个缓存区,Linux文件缓冲区详解
  • Linux服务器本地POST接口测试
  • 【正点原子FPGA连载】第二十章IP核之FIFO实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
  • _beginthreadex 和 _beginthread 的区别
  • 在java中调用weka聚类方法并显示相应的类标签+weka中创建arff数据
  • 企业安全意识必修课——修改远程桌面登录端口避免恶意扫描入侵
  • JSP | 简易购物车的实现
  • HTC (Desire V)T328W ROOT 教程 及关闭充电动画
  • 传奇单机版就是自己在家里架设一个
  • 基于SpringBoot+Vue酒店订房系统的设计与实现
  • 关于代理服务器的原理及用法
  • svn找不到节点_章泽天公园甩鞭抽陀螺,现场图曝光:生活不易,全靠自己找乐趣...
  • BUCK电路工作原理以及参数设计
  • 这篇文章带你了解一下WAP建站。
  • Scala 的那些奇怪的符号 (一)
  • 用户行为分析的背景以及几种模型分析、实例分析——淘宝用户行为分析
  • ASP进行数据库查询时SQL语句的几种特殊用法