经过了这么多篇文章的讲解,相信大家也对界面库有一定了解了,用一个新的界面库,肯定要对它进行全方位考察。鉴于公司目前所有的产品都是MFC做的,全部转换成duilib肯定不现实,并且公司的很多项目逻辑和界面耦合性太高,光逻辑和界面分离就会搞死人,此处省略N字......,如果有任何一点没考察到,背负压力是小事,如果公司的产品出不来,那就是大事了!!!

因此根据公司的情况,很显然是老项目用duilib和MFC结合;新项目全部使用duilib,即使出现用duilib解决不了的问题,也可以用MFC来解决。所以要考察的最重要的一点就是与MFC结合的难度。不过要说明的是,其实公司并没有要求换界面,这些都是Alberl业余时间捣鼓的,即使捣鼓出来了,也不会用到公司项目上,只会用于Alberl自己开发的小工具(原因已经省略了~O(∩_∩)O~)。

那就来谈一谈Alberl考察duilib的过程吧:当时Alberl以公司的某一款产品为目标,结合Demo和源码,很快就做出了和公司产品基本一样的界面,所以使用纯duilib是没有问题的。做完之后,就接着考察了duilib和MFC结合的问题,发现也是非常简单的。因此最重要的两点已经OK。功能OK了,那学习难度大不? 学习难度也是很低的,只要熟悉windows消息机制,即使没有Demo,也可以看源码。像Alberl这种毕业才一年的菜鸟,才耗费了大概9个晚上 + 一个周末,所以学习难度大可放心,并且之前入门教程很乱,如果不熟悉windows消息机制,可能会转很多弯,但Alberl最近写了《2013 duilib入门简明教程》,连VS环境配置和SVN都写在里面,所以学习难度更低啦~O(∩_∩)O~ 有了那些教程后,还是有些新手搞不定稍微复杂点的问题,因此Alberl就以迅雷播放器为目标,实现一个完整的项目,等这个出来了之后,相信学习门槛会进一步降低~O(∩_∩)O~。(需要注意的是,Alberl是一边实现迅雷播放器,一边写教程的,如果Alberl遇到了搞不定的问题,那教程就断啦,不过Alberl前面也说啦,百度、华为那么多大公司都用在产品上了,说明实现他们那样的界面是没有问题的,如果做不出来,就是Alberl技术不行,但是群里有那么多大神可以请教,因此Alberl一点都不慌哟~O(∩_∩)O~)

由于duilib入门不属于迅雷播放器教程的一部分,因此本教程到此篇暂时停止更新,接下来先写《duilib进阶教程》,之后再把界面源码链接更新到本文中来,《duilib进阶教程》的第一篇文章请见duilib进阶教程 -- 在MFC中使用duilib (1) 。

仿迅雷播放器教程 -- duilib界面(13)的更多相关文章

  1. 仿迅雷播放器教程 -- C++界面制作方法的对比 (9)

        上一个教程对比的5个方向共7个界面框架,都是非常权威,应用很广泛的库,绝对是非常稳定,并且能够做出常见的界面出来,可以放心大胆的用在项目里.     但那7个界面框架再好,也总是没有绝对的优势 ...

  2. 仿迅雷播放器教程 -- 基于VLC的MFC播放器 (6)

        代码下载:http://download.csdn.net/detail/qq316293804/6409417   昨天的教程里写着预计MFC播放器会隔得久一点,但是今晚仔细看了下VLC的常 ...

  3. 仿迅雷播放器教程 -- 提取exe资源(12)

    既然选择了一个界面库,那么咱们就开始吧!     既然是仿迅雷播放器,那当然要把迅雷播放器的资源提取出来啦,但是很多小伙伴可能不知道怎么提取,所以这里就教大家一些方法: 一.传统的资源提取器     ...

  4. 仿迅雷播放器教程 -- C++ 100款开源界面库 (10)

      (声明:Alberl以后说到开源库,一般都是指著名的.或者不著名但维护至少3年以上的.那些把代码一扔就没下文的,Alberl不称之为开源库,只称为开源代码.这里并不是贬低,像Alberl前面那个系 ...

  5. 仿迅雷播放器教程 -- C++ windows界面库对比(11)

    从上一篇文章中可以看出,C++的界面方向还很弱,没有任何一个界面库可以一统天下,所以才造成了界面库百家争鸣的情况. 从时间上看: 1.出来最早的是QT,1991年就有了. 2.VC++ 虽然1992年 ...

  6. 仿迅雷播放器教程 -- 封装VLC (5)

        虽然上个教程中10多行代码便做出了一个播放器,但如果加上快进快退等功能的话,代码都会挤在一团,阅读性很差,所以这个版本将对VLC进行封装,由于第一个教程已经进行了ffmpeg的封装,所以这里将 ...

  7. 仿迅雷播放器教程 -- 基于ffmpeg的C++播放器 (1)

    2011年12月份的时候发了这篇博客 http://blog.csdn.net/qq316293804/article/details/7107049 ,博文最后说会开源一个播放器,没想到快两年了,才 ...

  8. 仿迅雷播放器教程 -- 基于VLC的C++播放器 (4)

    经过前面的介绍,想必大家对VLC和ffmpeg都有一定印象了,还记得学习ffmpeg多么蛋疼吗?那么VLC会不会也这么蛋疼呢?     那么我们来看一段官方的Demo,Alberl精简了Demo,只留 ...

  9. 仿迅雷播放器教程 -- 十年经验大牛对MFC的认识 (7)

    由于上一个教程做界面用的是MFC,所以这里不得不说一下MFC的历史,请看正文:   原文链接:http://blog.csdn.net/sunhui/article/details/319551 作者 ...

随机推荐

  1. spring cloud: 使用consul来替换eureka

    eureka官方已经正式宣布:自2.0起不再维护该项目,并在github 项目wiki上放出了一段吓唬人的话: 大意就是:从2.x起,官方不会继续开发了,如果需要使用2.x,风险自负.但其实我觉得问题 ...

  2. android http中请求访问添加 cookie

    第一种HashMap<String, String> map = new HashMap<String, String>();map.put("cookie" ...

  3. libnids使用 (转)

    http://blog.csdn.net/kl222/article/details/6248827---原始链接 Libnids是一个用于网络入侵检测开发的专业编程接口,它使用了Libpcap所以它 ...

  4. Retrofit 2.0 使用详细教程

    文章来自:https://blog.csdn.net/carson_ho/article/details/73732076 前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求 ...

  5. Codeforces Round #277.5 (Div. 2)C——Given Length and Sum of Digits...

    C. Given Length and Sum of Digits... time limit per test 1 second memory limit per test 256 megabyte ...

  6. 使用Genymotion模拟器调试出现INSTALL_FAILED_CPU_ABI_INCOMPATIBLE错误的解决办法

    如果遇到下面这种错误: 点击下载Genymotion-ARM-Translation.zip 百度云连接:http://pan.baidu.com/s/1o6ifjMM 将你的虚拟器启动起来,将下载好 ...

  7. 手机APP UI设计尺寸基础知识

    从原理开始介绍一下移动端设计尺寸规范 初涉移动端设计和开发的同学们,基本都会在尺寸问题上纠结好一阵子才能摸到头绪.我也花了很长时间才弄明白,感觉有必要写一篇足够通俗易懂的教程来帮助大家.从原理说起,理 ...

  8. 转 HashMap 比较透彻的分析

    HashMap 的实现原理 原文: HashMap 的实现原理 众所周知,HashMap是用来存储Key-Value键值对的一种集合,这个键值对也叫做Entry,而每个Entry都是存储在数组当中,因 ...

  9. Jmeter发送Json请求

    jmeter发送的post请求,可以是json请求,和普通的post请求稍微有点区别,那么怎么用jmeter发送json请求呢? 首先要找一个json请求的例子,这个例子是携程网搜索机票, 网址为:h ...

  10. mysql索引hash索引和b-tree索引的区别

    Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-T ...