认识DuiLib

我们从大牛、尸兄、同事、文档、项目甚至厕所门板上得知一个新技术名词,首先得知道她可以提供哪些服务,然后才是如何去获取服务、用好服务,最后享受服务带来的快感(神马,她不能带来快感,那一定是个丑八怪,甭耗费大好青春去征服她了)。

首先我们需要做的是利用搜索引擎上百科对她的介绍认识她。下面也纯属C-c、C-v(在此提醒要习惯用快捷键,不然你可能被人家误认为是一个假程序员),具体的请自行前往百科翻看她的广告牌。

简介

国内首个开源的directui界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 、Window CE、Mobile等平台。

Duilib 是一款强大的界面开发工具,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。提供所见即所得的开发工具UIDesigner。使用DirectUI后将使得我们的设计人员彻底解放,不会受到开发的束缚,可以充分地发挥其设计能力来设计软件界面,并参与到用户界面开发过程中。 Duilib目前支持Windows32、WindowCE、Mobile等平台,使用C++开发,遵循BSD协议,可以免费用于商业项目 。

DirectUI界面库取名自微软的一个窗口类名”DirectUIHWND”,意为Paint on parent dc directly。 即子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。

DirectUI界面库使用XML来描述界面风格,界面布局,可以很方便的构建高效,绚丽的,非常易于扩展的界面。从而很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等。

Duilib界面库是一款由杭州月牙儿网络技术有限公司开发的界面开发库,它可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。

Duilib界面库的出现解决了使用传统MFC界面库开发软件不美观、界面细节处理不好、使用硬编码、开发效率低下、生成程序体积大等问题。而且传统MFC界面美化库大都使用HOOK等对系统影响比较大的技术,可能会导致系统不稳定或者引发其他错误。而Duilib界面库完全基于GDI在窗口上自绘,无其他依赖,未使用特殊或危险的系统调用,能够很好的解决传统MFC界面的一系列问题。

Duilib界面库完全兼容ActiveX控件(如常见的IE控件和Flash),也可以和MFC等界面库配合使用,用户完全可以不用担心切换到Duilib界面库上面会带来额外的成本或者Duilib界面库会出现功能不够用等情况。

Duilib界面库可广泛用于互联网客户端、工具软件客户端、管理系统客户端、多媒体客户端(如KTV、触摸屏)、车载电脑系统、gps系统和手机客户端软件等。

Duilib界面库可以广泛运行在windows98、Windows2000、WindowsXP、Windows2003、Windows Vista、Windows7、Windows8、WindowsCE5、WindowsCE6、Windows Mobile6等平台上,目前支持的开发工具包括vc6、vc2003、vc2005、vc2008、vc2010。

Duilib界面库基于viksoe的DirectUI项目,并且以BSD协议开源。

技术特点

XML和脚本构造界面: 使用xml配置界面控件布局,使用xml描述界面风格,XML语法简单,易于学习和掌握,支持改变皮肤色调,支持大多数控件透明,包括子窗口透明,支持png、bitmap、 gif、ico图片格式,支持带透明通道的png图片。

1、界面与业务逻辑分离

2、使用XML配置界面

3、界面布局方式灵活多样

4、内置常用的控件

5、支持自定义控件

6、强大的控件组合能力,复杂功能可通过简单控件组合完成

7、强大的事件处理机制

8、基于GDI和脏矩形的高效绘制技术

9、支持多种资源方式,支持多种图片格式

10、支持alpha混合,支持窗口透明

11、强大的图片绘制描述方式

12、类html字符串绘制技术

13、支持动态变换色调

14、支持动态切换资源位置方式换肤

15、支持ansi和unicode,支持多国家语言

16、支持插件系统

17、内存占用小

18、无第三方库依赖

19、提供可见即所得的ui编辑器

20、丰富易上手的demo例子

21、可以非常容易和mfc、wtl结合使用

基于DuiLib的软件不完全列表

百度: PPS 爱奇艺 百度杀毒 百度卫士 91助手

腾讯: 微信 企业微信

阿里: 支付宝安全控件 PP助手

书生云: 书生企业云盘

微软: 微软壁纸

网易: 易信 云音乐

华为: 华为网盘

金山: 金山快盘

京东: 咚咚

cctv: cbox

酷我: 酷我音乐盒

蘑菇街: TeamTalk

火绒: 火绒安全软件

盘古: 盘古越狱工具

顺网: 网维大师 91y

网狐: 网狐经典版

墨迹风云: 墨迹天气

zoomcloud: Zoom 视频会议

搜狗: 搜狗手机助手

沃通: 沃通代码签名工具

驱动人生: 驱动人生 人生日历

DuiLib教程--认识她相关推荐

  1. DuiLib教程--下载和生成

    下载和生成 DuiLib的下载可前往 https://github.com/duilib/duilib ,我个人更推荐直接使用git clone https://github.com/duilib/d ...

  2. Duilib教程-自动布局3-分隔条

    先看一个常用的图,如下: 左边是导航栏,右边是信息区. 中间可以自由拉伸. XML如下: <?xml version="1.0" encoding="utf-8&q ...

  3. Duilib教程-自动布局2

    在上一节中,我简单介绍了控件随父LAYOUT自由移动的设置.在这一节,我将介绍一种常见的情况:嵌入窗口. 在项目中,我们很少会100%的编写一个软件,特别是界面相关的,我们会使用以前已经编写好的窗口, ...

  4. Duilib教程-非DUI控件

    DUILIB并不是真正的DUI,至少有部分控件不是完全DUI的.其实包括: 1.EDIT. 它的实现原理是,CEditUI包含一个窗口CEditWnd,流程如下: 1)鼠标单击,创建窗口见 EditU ...

  5. Duilib教程-控件练习

    一.控件消息的响应. 在HelloDuilib例子中,程序不能退出,在这里,我将添加一个关闭按钮,当点击它时,调用PostQuitMessage进行退出. 首先在界面的右上角添加一个关闭按钮,并取名为 ...

  6. Duilib教程-HelloDuilib及DuiDesigner的简单使用

    一.HelloDuilib 1. 首先理解DUILIB显示的一个基本流程,如下图: 在Duilib中,WindowImplBase 这个类代表了图中 "CWndClass". 所以 ...

  7. Duilib教程-简单介绍

    在读这篇博客的时候,可能您已经对duilib有一定的了解.所以,我并不打算对duilib进行过多的介绍.它的内核首先由外国人编写,后来由国人一个小组接过来继续编写,于是就有了现在的Duilib. 1. ...

  8. Duilib教程-自动布局1

    我们要实现一个带标题栏和状态栏的程序,同时要支持拉伸,即包括最小化.最大化,图如下: XML: <?xml version="1.0" encoding="utf- ...

  9. duilib进阶教程 -- 在MFC中使用duilib (1)

    由于入门教程的反响还不错,因此Alberl就以直播的形式来写<进阶教程>啦,本教程的前提: 1.请先阅读<仿迅雷播放器教程> 2.要有一定的duilib基础,如果还没,请先阅读 ...

  10. duilib入门简明教程 -- VS环境配置(2) (转)

    原文转自:http://www.cnblogs.com/Alberl/p/3342030.html     既然是入门教程,那当然得基础点,因为搜索duilib相关资料时,发现有些小伙伴到处都是编译错 ...

最新文章

  1. 基于Xcode原型驱动的iOS应用设计
  2. 《Microsoft Sql server 2008 Internals》读书笔记--第五章Table(4)
  3. tf initializer
  4. VTK:可视化之OrientedGlyphs
  5. 高等数学下-赵立军-北京大学出版社-题解-练习11.2
  6. LintCode解题目录
  7. c语言动态存储分配和链表,C语言静态链表和动态链表
  8. cesium添加填充_cesium编程中级(四)使用渐变纹理
  9. 任务调度系统 xxl-job,V1.4.1 新特性速览
  10. Windows 下 git的安装 + 可视化的小乌龟的安装
  11. 国庆记事之一:小白结婚及我跟女朋友吵架
  12. java指标计算_java – 使用JMH计算指标
  13. vscode中如何修改vetur配置_vscode vetur插件配置不换行
  14. 宏基E5572g 键盘排线插拔 拆机局部
  15. 尔雅网络选课 大学计算机知识,2017-2018学年第1学期超星尔雅网络课程选课指南.PDF...
  16. 使用超大电路集成的计算机,使用超大规模集成电路制造的计算机应该归属于()...
  17. 字节跳动Java金三银四解析:阿里巴巴技术专家之作
  18. 【机器学习】详解 EfficientNet
  19. Python自然语言处理 | 编写结构化程序
  20. [Android study note]安装Apache服务器

热门文章

  1. hashcode值一样对象一定相同吗_为什么重写equals()方法就必须重写hashcode()方法?...
  2. Qt 之 QEvent
  3. C++序列式容器(STL序列式容器)
  4. dll的基址与对应的lib文件
  5. 汇编语言中 编译 连接 构建时的一些错误以及错误的修正方法(不断积累中...)
  6. 个人对游戏加速器行业看法(二):加速器现有架构梳理
  7. 电商网站项目总结(面向对象编程篇)
  8. matlab 车牌识别源码,车牌识别的matlab程序
  9. 花了很长时间看完了 java编程思想
  10. WinForm列表控件美化