- 博客(56)
- 资源 (40)
- 收藏
- 关注
原创 【【【超高仿】】】迅雷播放器教程 -- 总结(14)
代码下载:http://download.csdn.net/detail/u012248739/6502965
2013-11-05 11:01:49 30789 139
原创 duilib入门文档、仿迅雷看看播放器 chm电子书
duilib入门简明教程.chmhttp://download.csdn.net/detail/qq316293804/6923785duilib进阶教程.chmhttp://download.csdn.net/detail/qq316293804/6923793仿迅雷播放器教程.chmhttp://download.csdn.net/detail/qq
2014-02-15 01:08:31 4937 17
原创 博客还是搬到csdn吧~
从csdn转到博客园是因为博客园开放了博客接口,方便发博客,再者博客样式也比较多,排版兼容性也较好。 but, 博客园的链接在多个群里进行了宣传,当时大概有2000多的访问量,但是一个月过去了,现在还是只有3000多而已。 而csdn只是在论坛发了一下,帖子就被推荐,博客也被推荐,嗯,没怎么宣传,同样是一个月,现在有15000的阅读量。 也就是说,如果将博客发到csdn,将会...
2013-12-06 21:33:00 29
原创 duilib进阶教程 -- 总结 (17)
整个教程的代码下载:http://download.csdn.net/detail/qq316293804/6502207 (由于duilib进阶教程主要介绍界面,所以这个教程只给出界面相关的代码,完整代码请进《仿迅雷播放器教程》)进阶教程汇总:duilib进阶教程 -- 在MFC中使用duilib (1)duilib进阶教程 -- 在duilib中使用MFC (2
2013-11-06 15:10:46 4479 8
原创 2013 duilib入门简明教程 -- 总结 (20)
duilib的入门系列就到尾声了,再次提醒下,Alberl用的duilib版本是SVN上第387个版本,时间是2013.08.15~这里给出Alberl最后汇总的一个工程,戳我下载,效果如图:2013 duilib入门教程汇总:2013 duilib入门简明教程 -- 前言(1)2013 duilib入门简明教程 -- VS环境配置(2)
2013-11-06 15:09:53 3904 4
原创 duilib进阶教程 -- 改进List控件 (16)
一、控件隐藏后,允许用代码操作所有行为。 在做播放器的时候,最常用的功能莫过于顺序播放、随机播放了,而当我们切换歌曲的时候,显然应该选中该歌曲,List的选中函数是SelectItem,但是调用此函数时,却发现有时候没有效果,原因是每当播放歌曲或电影时,会隐藏播放列表,这个时候SelectItem会返回false,当然,我们在SelectItem之前显示播放列表,SelectItem之后再隐...
2013-11-03 00:02:00 291
原创 duilib进阶教程 -- 设置资源路径 (15)
在前面的教程里,虽然图片都放到了skin文件夹里,但是XML却都在外面,当XML比较多时,就不太好看啦,如下图: 所以需要整理一下,将XML也放入skin文件夹,这样exe的目录就简洁多了: 将XML放入skin文件夹后,代码也要跟着变化哦,在duilib的Demo里经常可以看到如下代码: (其中SetResourcePath是设置资源的路径,包括XML和图片等各种资...
2013-11-02 23:23:00 17
原创 duilib进阶教程 -- Container控件的bug (14)
在《duilib进阶教程 -- TreeView控件的bug (9)》里,Alberl发现了两个bug,并解决了其中一个,现在教程已经接近尾声啦,所以Alberl就解决了另外一个bug。 Bug现象: 第一次启动软件时,由于播放列表并没有文件,所以没有显示垂直滚动条,当我们拖入文件后,就显示了垂直滚动条,这个时候会自动调整子控件的宽度,于是一切显示正常。 但是当我们第二次启动软件...
2013-11-02 22:21:00 390
原创 duilib进阶教程 -- 响应windows原生消息和自定义消息(13)
一、windows原生消息 同样,入门教程只是给出了响应windows原生消息的方法,并没给出例子,这里以自适应屏幕分辨率为例。迅雷播放器虽然可以在启动的时候自动调整窗口大小,但是当屏幕分辨率实时改变时并没有调整窗口。我们做个改进,即可以实时调整大小,很明显,应该响应WM_DISPLAYCHANGE消息,而duilib自己处理windows消息的函数是在HandleMessage里,因此重载...
2013-11-02 22:00:00 336
原创 duilib进阶教程 -- 改进窗口拖动 (12)
现在大家应该都知道caption="0,0,0,32",是指示标题栏区了吧,如果想要整个窗口都能拖动呢? 那直接把高度改成和窗口一样不就得了~O(∩_∩)O~ 嗯,这样是可以,比如窗口高度是600,那么我们指定caption="0,0,0,600",这样整个窗口就可以拖动了,但是如果窗口大小改变了呢?假如调整窗口的大小到800,这个时候最下面的200个像素的高度就不能拖动啦,因此这里进行...
2013-11-02 21:33:00 396
原创 duilib进阶教程 -- 扩展duilib的消息 (11)
duilib并没有提供双击和右键消息,所以需要我们自行扩展,这里以添加双击消息为例, 在UIDefine.h里,我们只看到了DUI_MSGTYPE_CLICK消息,却没有看到双击消息,因此需要在这里添加一个双击消息: #define DUI_MSGTYPE_DBCLICK (_T("dbclick")) 在UIManager.h里可以看到UIE...
2013-11-02 20:15:00 209
原创 duilib进阶教程 -- 各种控件的响应 (10)
到上一个教程为止,界面显示的代码就都介绍完啦,现在开始介绍控件的响应,其实在《2013 duilib入门简明教程 -- 事件处理和消息响应 (17)》里已经列出了duilib自己定义的所有消息,并且前面也介绍了Button和Tab的响应,还是有小伙伴们不知道怎么响应其他控件,因此这里介绍一下其他控件的响应。 需要注意的是,如果要响应控件,则必须给控件指定一个唯一的ID,在windows编...
2013-11-02 14:55:00 909
原创 duilib进阶教程 -- TreeView控件的bug (9)
一、不自动调整子控件的宽度(TreeView宽度小于260时) 相信亲们用同样的代码,显示效果肯定和Alberl不一样吧~O(∩_∩)O~ 嘿嘿,仔细对比下,看看你们的列表头背景图片是下面这样的么? 细心的小伙伴们应该早就发现了,可以看到右边那个箭头并没有完全显示出来,这是因为TreeView又调皮啦! 最开始觉得是TreeView没有自动调整控件的宽度,去看了下代码,没啥...
2013-11-02 08:53:00 705
原创 duilib进阶教程 -- Label控件的bug (8)
上个教程说到了TreeView的文字不能垂直居中的问题,而我们用LabelUI其实是可以垂直居中的,为什么不说是TreeView的bug,而说是Label控件的bug呢?因为影响TreeView垂直居中的就是Label,可以发现LabelUI的【属性列表.XML】里有valign属性,而代码里却找不到,是因为valign属性被合并到align属性里去了,只要设置align="center"就...
2013-11-02 00:02:00 194
原创 duilib进阶教程 -- TreeView控件的不足 (7)
上一个教程中,虽然播放列表的框架和迅雷一样了,但是字体大小、文字居中还没有解决。如果是刚学duilib,搞定这个可不容易,因为在有了入门教程的指导后,很容易就想到去看【属性列表.XML】,但是当你试了一圈之后,发现font、itemfont、align、itemalign等等,都没有效果! 这个时候就只有去看duilib内部的代码了,和上个教程一样,虽然小伙伴们花一个晚上或者几个晚上就能...
2013-11-01 17:28:00 1011
原创 duilib进阶教程 -- TreeView控件(6)
代码下载:http://download.csdn.net/detail/qq316293804/6483905 上一个教程中,界面已经和迅雷一模一样啦,大小和位置一个像素都不差哟,亏得Alberl调了好久,不过既然决定要山寨了,那当然得学习下华强北~O(∩_∩)O~ 那么现在只剩下播放列表和四个网页啦,那四个网页很简单,用ActiveX控件和Tab控件就搞定了,具体参见《2013 ...
2013-10-31 23:35:00 275
原创 duilib进阶教程 -- 图片和文字的位置调整 (5)
已经有8个晚上没写教程啦,因为之后遇到了一些问题,主要是TreeView控件的问题,这个问题搞了几个晚上,然后还需要调试代码才能知道它的用法,虽然能够调试出来,但毕竟没什么含金量,只是重复劳动而已,相信很多前辈已经做过了。好吧,天朝的开源状况一向如此,重复造轮子的事情就由Alberl来终结吧,希望能给后面的小伙伴们节省时间,这里向那些提供Demo的大神们致敬,向duilib的作者致敬~O(∩...
2013-10-31 00:20:00 1026
原创 duilib进阶教程 -- XML嵌套及自定义控件 (4)
代码下载:http://download.csdn.net/detail/qq316293804/6433937 之前入门教程里已经讲过了自定义控件,这里借着迅雷播放器再次举个例子。 1、我们先给迅雷播放器加入下面那一排按钮。 和上个教程一样,我们可以选择直接放在主XML里面,也可以选择放到Container里面,在这里,为了让主XML的代码更简洁一点,我们选择放到单独的XML...
2013-10-22 09:10:00 291
原创 duilib进阶教程 -- Container控件 (3)
前面两个教程的目的是教大家与MFC结合,那么从这篇起,将不再使用MFC,而使用纯win32项目,本文的所有知识已经在《duilib入门教程》里面讲过了,因此基础知识不再赘述。 代码下载:http://download.csdn.net/detail/qq316293804/6433161 效果如下(可拖拽边缘调节窗口大小,图片会自动居中) 此例子唯一需要说明的就是XML,代码如...
2013-10-21 21:19:00 318
原创 duilib进阶教程 -- 在duilib中使用MFC (2)
好人做到底,送佛送到西。虽然上一篇教程已经说得很详细了,但Alberl还是再举一个例子。上一篇教程的主窗口是MFC的,所以这篇教程把主窗口换成duilib的~O(∩_∩)O~ 1、我们利用《2013 duilib入门简明教程 -- 完整的自绘标题栏(8)》里的XML做为主窗口,并且把客户区的控件都去掉,换成一个自定义控件<Dialog />。将XML改名为XMP_MAIN.x...
2013-10-20 23:06:00 138
原创 duilib进阶教程 -- 在MFC中使用duilib (1)
由于入门教程的反响还不错,因此Alberl就以直播的形式来写《进阶教程》啦,本教程的前提: 1、请先阅读《仿迅雷播放器教程》 2、要有一定的duilib基础,如果还没,请先阅读《2013 duilib入门简明教程》。 3、下载基于VLC的MFC播放器(包含VLC等所有文件),csdn不允许上传相似的代码,因此后面的教程将不再上传VLC的dll、头文件等没有改变的文件。 《仿迅...
2013-10-20 15:30:00 666
原创 仿迅雷播放器教程 -- duilib界面(13)
经过了这么多篇文章的讲解,相信大家也对界面库有一定了解了,用一个新的界面库,肯定要对它进行全方位考察。鉴于公司目前所有的产品都是MFC做的,全部转换成duilib肯定不现实,并且公司的很多项目逻辑和界面耦合性太高,光逻辑和界面分离就会搞死人,此处省略N字......,如果有任何一点没考察到,背负压力是小事,如果公司的产品出不来,那就是大事了!!! 因此根据公司的情况,很显然是老...
2013-10-20 09:29:00 342
原创 仿迅雷播放器教程 -- C++ windows界面库对比(11)
从上一篇文章中可以看出,C++的界面方向还很弱,没有任何一个界面库可以一统天下,所以才造成了界面库百家争鸣的情况。从时间上看:1、出来最早的是QT,1991年就有了。2、VC++ 虽然1992年就出来了,但是一直不给力,那个时候是Borland一统天下,并且1995年Borland出了Delphi,也一直一统天下。3、在1998年VC++ 6.0 出来之后,Delphi就...
2013-10-18 23:46:00 666
原创 仿迅雷播放器教程 -- C++ 100款开源界面库 (10)
(声明:Alberl以后说到开源库,一般都是指著名的、或者不著名但维护至少3年以上的。那些把代码一扔就没下文的,Alberl不称之为开源库,只称为开源代码。这里并不是贬低,像Alberl前面那个系列的教程《2013 duilib入门简明教程》,还有本系列教程,还有前面介绍的CodeProject,基本上都是代码往上面一扔,就不用再怎么维护的。这些都称之为开源代码,其实开源代码对新手的帮助更大...
2013-10-17 22:31:00 979
原创 仿迅雷播放器教程 -- C++界面制作方法的对比 (9)
上一个教程对比的5个方向共7个界面框架,都是非常权威,应用很广泛的库,绝对是非常稳定,并且能够做出常见的界面出来,可以放心大胆的用在项目里。 但那7个界面框架再好,也总是没有绝对的优势,不然其他框架早就淘汰了,那么以下几个才是目前真正的顶级理想状态(过几年可能这些理想状态也不理想啦~):1、用3D游戏的界面来做客户端界面,3D游戏的效果当然是世界顶级的啦,如果客户端能做成那样的...
2013-10-17 15:09:00 749
原创 仿迅雷播放器教程 -- 权威界面库对比 (8)
上一个教程对MFC的历史已经介绍很多了,那么界面方面该怎么选择呢? 说起界面,那真是百家争鸣。C++里面其他的都好说,像什么XML解析顶多也就十几个著名开源库而已。Office 操作的开源库仅有几个,更可怜的是有个很著名的Office开源库只有JAVA和C#版本,但是木有C++版本o(╯□╰)o。 网络方面、字符串处理方面、多语言方面等等都很少,最重要的是,这些开源库中几乎任何...
2013-10-16 23:32:00 609
原创 仿迅雷播放器教程 -- 基于VLC的MFC播放器 (6)
代码下载:http://download.csdn.net/detail/qq316293804/6409417 昨天的教程里写着预计MFC播放器会隔得久一点,但是今晚仔细看了下VLC的常用代码,发现VLC封装得真好,和ffmpeg简直就是天上地下的区别,所以呢,很快就将VLC的常用功能都加上啦,基本上都是一行代码解决,再次大喊一声:这酸爽~~~ 简直不敢相信!!! 所以...
2013-10-15 23:22:00 849
原创 仿迅雷播放器教程 -- 封装VLC (5)
虽然上个教程中10多行代码便做出了一个播放器,但如果加上快进快退等功能的话,代码都会挤在一团,阅读性很差,所以这个版本将对VLC进行封装,由于第一个教程已经进行了ffmpeg的封装,所以这里将利用它的框架CAVPlayer,由于这些封装代码都很简洁明了,所以将不再对细节一一介绍,直接给出封装好的代码。#include <string>#include "AVPlaye...
2013-10-14 22:32:00 251
原创 仿迅雷播放器教程 -- 基于VLC的C++播放器 (4)
经过前面的介绍,想必大家对VLC和ffmpeg都有一定印象了,还记得学习ffmpeg多么蛋疼吗?那么VLC会不会也这么蛋疼呢? 那么我们来看一段官方的Demo,Alberl精简了Demo,只留下了主要代码:#include <stdio.h>#include <windows.h> #include "vlc/vlc.h"#pragma c...
2013-10-14 22:05:00 259
原创 仿迅雷播放器教程 -- 媒体播放三大底层架构简析 (3)
上一个教程中对比了数十种知名播放器,最终选定了VLC和MPlayer,那么这两种谁更胜一筹呢? 我们来看一看射手播放器作者的评价。来源:<http://blog.splayer.org/index.php/2010/03/%E5%AA%92%E4%BD%93%E6%92%AD%E6%94%BE%E4%B8%89%E5%A4%A7%E5%BA%95%E5%B1%82%E6%9...
2013-10-14 21:49:00 846
原创 仿迅雷播放器教程 -- 媒体播放器对比 (2)
既然Alberl想做播放器,又不想用ffmpeg的话,该怎么办呢?还记得ffmpeg给出的上百款多媒体相关的工程吗?这年头不怕没选择,就怕选择多,让Alberl去对比那些项目,还不如... Alberl一向比较懒,一向觉得这事肯定有大神们做过千百遍了,这不,果然如此:来源:<媒体播放器列表 - 维基百科,自由的百科全书>下表比较了一些常见媒体播放器程序的...
2013-10-14 21:29:00 1001
原创 仿迅雷播放器教程 -- 基于ffmpeg的C++播放器 (1)
2011年12月份的时候发了这篇博客http://blog.csdn.net/qq316293804/article/details/7107049,博文最后说会开源一个播放器,没想到快两年了,才有时间发博客。 两年前的博客和大部分博客一样,以结果为主,也就是开源一个软件,直接把代码一扔,效果图一截,发一篇介绍性的博客就完事,里面没有任何技术分析。而Alberl在学习的过程中...
2013-10-14 21:21:00 812
原创 2013 duilib入门简明教程 -- 总结 (20)
duilib的入门系列就到尾声了,再次提醒下,Alberl用的duilib版本是SVN上第387个版本,时间是2013.08.15~这里给出Alberl最后汇总的一个工程,戳我下载,效果如图:2013 duilib入门教程汇总:2013 duilib入门简明教程 -- 前言(1)2013 duilib入门简明教程 -- VS环境配置(2)2013 duili...
2013-10-06 18:55:00 489
原创 2013 duilib入门简明教程 -- FAQ (19)
虽然前面的教程几乎把所有的知识点都罗列了,但是有很多问题经常在群里出现,所以这里再次整理一下。需要注意的是,在下面的问题中,除了加上XML属性外,主窗口必须继承自WindowImplBase,才能够有效果,因为这个类帮我们处理了非常多的常用操作,如果想自己处理,请参见WindowImplBase的代码。1、怎么设置标题栏区域?只需在XML的Window节点加上cap...
2013-10-06 17:16:00 217
原创 2013 duilib入门简明教程 -- 其他 (18)
一、超链接按钮代码很简单,参见360Demo: <Button text="{u}{a}求助{/a}{/u}" showhtml="true"/>这里只需要加上showhtml="true",然后在text属性里写类html代码就可以了,不过duilib只支持小部分html代码,具体的格式请参见Demo以及源码~二、支持html由...
2013-10-06 16:45:00 392
原创 2013 duilib入门简明教程 -- 事件处理和消息响应 (17)
界面的显示方面就都讲完啦,下面来介绍下控件的响应。前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理。其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEGIN_MESSAGE_MAP,可以将DUI_MSGTYPE_CLICK消息映射到指定的函数(比如OnClick),这和在Notify判断msg.sType是一样的效果,具体请参见duilib的Ric...
2013-10-05 21:46:00 158
原创 2013 duilib入门简明教程 -- 结合win32和MFC (16)
虽然duilib自带在MFC中使用duilib的Demo,但只是MFC窗口和duilib窗口不重叠的情况。如果要在MFC窗口中嵌入duilib控件,或者在duilib控件中嵌入MFC的控件的话,就没有Demo可以看了,其实Alberl开始也不知道怎么办,看了下ActiveXUI控件,这个就是结合HWND的,但是由于接触duilib不久,所以一时无法看懂ActiveXUI到底是怎么将win...
2013-10-05 18:39:00 835
原创 2013 duilib入门简明教程 -- 自绘控件 (15)
在【2013 duilib入门简明教程 -- 复杂控件介绍 (13)】中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如菜单控件)。虽然duilib没有提供这些控件,但是自己绘制起来也是非常方便的,不过duilib的自绘可比MFC方便得不止一点点了,其实duilib的自绘大都不用自己绘制,就是一些控件和图片的组合而已...
2013-10-05 15:31:00 849
原创 2013 duilib入门简明教程 -- 部分bug 2 (14)
上一个教程中提到了ActiveX的Bug,即如果主窗口直接用变量生成,则关闭窗口时会产生崩溃如果用new的方式生成,则不会崩溃,所以给出一个临时的快速解决方案,即主窗口都用new生成,_tWinMain改为下面这样:int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTS...
2013-10-05 09:29:00 219
【2013 duilib入门简明教程 -- 完整的自绘标题栏(8) 】 的按钮图片资源
2013-09-28
网上收集的2011.12之前的绝大部分 五子棋源码
2011-12-27
五子棋 源码 游戏编程 MFC VC C++
2011-12-27
XMP 添加了播放列表
2013-10-31
基于VLC的MFC播放器 完整版
2013-10-16
基于VLC的MFC播放器
2013-10-15
仿迅雷看看播放器Release版本
2013-10-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人