关于duilib的介绍就不多讲了,一来不熟,二来小伙伴们想必已经对比了多个界面库,也无需赘述。下面进入正题:    不看广告看疗效! 已有众多知名公司采用duilib做为界面库,如华为网盘、PPS(PPS和华为之前都是用UIPower)、金山快盘(也没用自家的界面库)、酷我音乐、爱奇艺视频、百度杀毒、百度卫士、百度管家等一系列产品。而duilib自己提供的Demo有QQ、QQ旋风、360等等。下面是一部分截图:

 
 

疗效就不用再多说了吧~O(∩_∩)O~
    这么好的东东,都开源三年多了,肿么一直没有个像样的文档和入门教程咧? 那些知名公司的界面小伙伴们能马上用么??? 此处省略N字...
    这就是Alberl写入门教程的原因。
    Alberl虽然关注DirectUI快三年了,但是一直处于观望状态,几年前duilib牵头,使很多想寻求商业合作的界面库也纷纷开源或免费,当时Alberl还想等着他们出2.0时再用呢,结果眼一睁一闭,别说2.0了,能勉强活下来的就剩duilib了。duilib的历史简介就这样了。
    首先要声明的是,虽然Alberl写入门教程,但不代表Alberl很熟悉duilib,相反Alberl是个大大的菜鸟,毕业才一年多点的小盆友,2013.09.09 才正式学习duilib,由于只是业余时间学习,所以教程可能会有很多误导或者错误的地方,还请各位大神不吝赐教~O(∩_∩)O~

duilib教程之duilib入门简明教程1.前言的更多相关文章

  1. duilib教程之duilib入门简明教程17.事件处理和消息响应

    界面的显示方面就都讲完啦,下面来介绍下控件的响应.    前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEGIN_ME ...

  2. duilib教程之duilib入门简明教程14.部分bug 2

    上一个教程中提到了ActiveX的Bug,即如果主窗口直接用变量生成,则关闭窗口时会产生崩溃      如果用new的方式生成,则不会崩溃,所以给出一个临时的快速解决方案,即主窗口都用new生成,_t ...

  3. duilib教程之duilib入门简明教程15.自绘控件

    在[2013 duilib入门简明教程 -- 复杂控件介绍 (13)]中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如菜单控件 ...

  4. duilib教程之duilib入门简明教程13.复杂控件介绍

    首先将本节要介绍的控件全部拖到界面上,并调整好位置,如图:  然后将Name属性改成其他名字,         不能是[控件名+UI+数字]这种,因为这是DuiDesigner默认的名字,它不会实际写 ...

  5. duilib教程之duilib入门简明教程11.部分bug

    一.WindowImplBase的bug    在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题,    1.最大化按钮的样式还是没 ...

  6. duilib教程之duilib入门简明教程3.第一个程序 Hello World

    小伙伴们有点迫不及待了么,来看一看Hello World吧:新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #in ...

  7. duilib教程之duilib入门简明教程9.界面布局

    上一个教程实现的标题栏代码中,并没有看到处理自适应窗口大小的代码,但是窗口大小变化后,按钮的位置会跟着变化,这是因为我们将按钮放到了HorizontalLayout.VerticalLayout,这样 ...

  8. duilib教程之duilib入门简明教程2.VS环境配置

    既然是入门教程,那当然得基础点,因为搜索duilib相关资料时,发现有些小伙伴到处都是编译错误,以及路径配置错误等等,还有人不知道SVN,然后一个个文件手动下载的.    其实吧,duilib的定位好 ...

  9. duilib教程之duilib入门简明教程16.结合win32和MFC

    虽然duilib自带在MFC中使用duilib的Demo,但只是MFC窗口和duilib窗口不重叠的情况.如果要在MFC窗口中嵌入duilib控件,或者在duilib控件中嵌入MFC的控件的话,就没有 ...

随机推荐

  1. 洛谷P2184——贪婪大陆

    传送门:QAQQAQ 题意:给一个长度为$n$的区间,每次可以进行两种操作: 1.在$[l,r]$这个区间里放置一个和之前种类不同的炸弹 2.查询在$[l,r]$区间内有多少种不同种类的炸弹 思路:第 ...

  2. Ansible配置及使用

    使用公私钥实现ssh无密码登录 生成公钥和私钥 ssh-keygen -t rsa 公钥相当于锁id_rsa.pub,私钥相当于钥匙id_rsa 借用ssh-copy-id工具实现无密码登录 ssh- ...

  3. POST提交数据之---Content-Type的理解

    Content-Type是指http/https发送信息至服务器时的内容编码类型,contentType用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据. 在网络请求 ...

  4. vba增删改查数据库

    你在EXCEL中增加一个列名为ID,后在VBA中写以下代码,并引用Microsoft ActiveX Data Objects 2.8后执行Public Sub 写入SQL2008()Dim cnn ...

  5. Android 开发 框架系列 OkHttp文件上传功能实现(含断点续传)

    前言 此篇博客只是上传功能的记录demo,如果你还不太了解okhttp可以参考我的另一篇博客https://www.cnblogs.com/guanxinjing/p/9708575.html 代码部 ...

  6. try install gitlab ce at docker ce

    sudo docker run --detach \ --env GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.1.30:8087/ ...

  7. 【JZOJ6370】基础 fake 练习题

    description 装饰者坐在树荫下听着长者讲述以前的故事: 大神 yk 非常喜欢树,便钦点班里的 n 个小蒟蒻站在一棵 n 个点以 1 为根的树上,并且每个点上恰好有 1 个小蒟蒻. 大神 yk ...

  8. mac终端主机与用户名的修改

    终端中切换root用户 su - root 修改/etc/bashrc文件中的PS1='\h:\W \u$ ',其中\h代表主机名,\u代表用户名 修改完后,使用x!强制保存,即重写覆盖原有的文件. ...

  9. thinkphp 比较标签

    比较标签用于简单的变量比较,复杂的判断条件可以用if标签替换,比较标签是一组标签的集合,基本上用法都一致,如下: <比较标签 name="变量" value="值& ...

  10. 基于V8引擎的C++和JS的相互交互

    基于什么原因略! 1. 脚本引擎的基本功能 V8只是一个JS引擎.去除它的特点功能出处,它必须要实现JS引擎的几个基础功能: 脚本执行:脚本可能是一个表达式:一段js代码:或者一个文件执行表达式返回j ...