DuiLib教程--认识她
认识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教程--认识她相关推荐
- DuiLib教程--下载和生成
下载和生成 DuiLib的下载可前往 https://github.com/duilib/duilib ,我个人更推荐直接使用git clone https://github.com/duilib/d ...
- Duilib教程-自动布局3-分隔条
先看一个常用的图,如下: 左边是导航栏,右边是信息区. 中间可以自由拉伸. XML如下: <?xml version="1.0" encoding="utf-8&q ...
- Duilib教程-自动布局2
在上一节中,我简单介绍了控件随父LAYOUT自由移动的设置.在这一节,我将介绍一种常见的情况:嵌入窗口. 在项目中,我们很少会100%的编写一个软件,特别是界面相关的,我们会使用以前已经编写好的窗口, ...
- Duilib教程-非DUI控件
DUILIB并不是真正的DUI,至少有部分控件不是完全DUI的.其实包括: 1.EDIT. 它的实现原理是,CEditUI包含一个窗口CEditWnd,流程如下: 1)鼠标单击,创建窗口见 EditU ...
- Duilib教程-控件练习
一.控件消息的响应. 在HelloDuilib例子中,程序不能退出,在这里,我将添加一个关闭按钮,当点击它时,调用PostQuitMessage进行退出. 首先在界面的右上角添加一个关闭按钮,并取名为 ...
- Duilib教程-HelloDuilib及DuiDesigner的简单使用
一.HelloDuilib 1. 首先理解DUILIB显示的一个基本流程,如下图: 在Duilib中,WindowImplBase 这个类代表了图中 "CWndClass". 所以 ...
- Duilib教程-简单介绍
在读这篇博客的时候,可能您已经对duilib有一定的了解.所以,我并不打算对duilib进行过多的介绍.它的内核首先由外国人编写,后来由国人一个小组接过来继续编写,于是就有了现在的Duilib. 1. ...
- Duilib教程-自动布局1
我们要实现一个带标题栏和状态栏的程序,同时要支持拉伸,即包括最小化.最大化,图如下: XML: <?xml version="1.0" encoding="utf- ...
- duilib进阶教程 -- 在MFC中使用duilib (1)
由于入门教程的反响还不错,因此Alberl就以直播的形式来写<进阶教程>啦,本教程的前提: 1.请先阅读<仿迅雷播放器教程> 2.要有一定的duilib基础,如果还没,请先阅读 ...
- duilib入门简明教程 -- VS环境配置(2) (转)
原文转自:http://www.cnblogs.com/Alberl/p/3342030.html 既然是入门教程,那当然得基础点,因为搜索duilib相关资料时,发现有些小伙伴到处都是编译错 ...
最新文章
- 基于Xcode原型驱动的iOS应用设计
- 《Microsoft Sql server 2008 Internals》读书笔记--第五章Table(4)
- tf initializer
- VTK:可视化之OrientedGlyphs
- 高等数学下-赵立军-北京大学出版社-题解-练习11.2
- LintCode解题目录
- c语言动态存储分配和链表,C语言静态链表和动态链表
- cesium添加填充_cesium编程中级(四)使用渐变纹理
- 任务调度系统 xxl-job,V1.4.1 新特性速览
- Windows 下 git的安装 + 可视化的小乌龟的安装
- 国庆记事之一:小白结婚及我跟女朋友吵架
- java指标计算_java – 使用JMH计算指标
- vscode中如何修改vetur配置_vscode vetur插件配置不换行
- 宏基E5572g 键盘排线插拔 拆机局部
- 尔雅网络选课 大学计算机知识,2017-2018学年第1学期超星尔雅网络课程选课指南.PDF...
- 使用超大电路集成的计算机,使用超大规模集成电路制造的计算机应该归属于()...
- 字节跳动Java金三银四解析:阿里巴巴技术专家之作
- 【机器学习】详解 EfficientNet
- Python自然语言处理 | 编写结构化程序
- [Android study note]安装Apache服务器
热门文章
- hashcode值一样对象一定相同吗_为什么重写equals()方法就必须重写hashcode()方法?...
- Qt 之 QEvent
- C++序列式容器(STL序列式容器)
- dll的基址与对应的lib文件
- 汇编语言中 编译 连接 构建时的一些错误以及错误的修正方法(不断积累中...)
- 个人对游戏加速器行业看法(二):加速器现有架构梳理
- 电商网站项目总结(面向对象编程篇)
- matlab 车牌识别源码,车牌识别的matlab程序
- 花了很长时间看完了 java编程思想
- WinForm列表控件美化