duilib
文章平均质量分 81
Redrain
Everyone is happy. But, your happiness, often in the eyes of others.
展开
-
DuiLib消息处理剖析
本来想自己写写duilib的消息机制来帮助duilib的新手朋友,不过今天发现已经有人写过了,而且写得很不错,把duilib的主干消息机制都说明了,我就直接转载过来了,原地址:http://blog.163.com/hao_dsliu/blog/static/1315789082014101913351223/duilib官方github地址: https://gi转载 2014-12-04 16:00:28 · 9969 阅读 · 1 评论 -
duilib 修复CTreeViewUI控件动态添加子控件时,对是否显示判断不足的bug
转载请说明出处,谢谢~~: 这个bug我在仿酷狗开发日志里提到过,不过后来发现修复的不够好,后来重新修改了代码,并记录到博客。问题描述: 在仿酷狗程序中,动态添加音乐项目到播放列表里,这是必须的功能,动态添加的功能已经做好。但是我发现,当一个分组本来在收缩状态下,这是给它动态添加音乐项目就会发生很搞笑的问题:分组是收缩状态,而动态添加原创 2014-12-30 13:45:15 · 4357 阅读 · 0 评论 -
为duilib的MenuDemo增加消息响应,优化代码和显示效果
扩展duilib MenuDemo,制作通用菜单原创 2014-07-29 08:20:20 · 12530 阅读 · 24 评论 -
duilib 修复padding属性导致其他控件自动计算宽高度错误的bug和导致自己宽高度错误的bug
转载请说明原出处,谢谢~~: 今天在写项目的一个布局时,用到了最常用的相对布局属性padding:在一个纵向容器里,给其中的各个子元素设置了padding属性来做相对布局。但是出现了很奇怪的现象:容器的最后一个元素本应该在最底部,但是实际却流出了一部分空白。 实际上这个bug早在我写仿酷狗时就遇到了,当时没有很注意,就用了绝对布局去解决原创 2015-01-21 02:12:52 · 4597 阅读 · 4 评论 -
duilib 增加gif控件(基于gdi+,可控制播放暂停,自动设置大小)
转载请说明原出处,谢谢~~: 因为项目需要我需要给duilib增加一个gif控件,目前已经有了gif控件有很多版本,我去搜集了一些控件,但是都没有自己满意的。原uilib库中已经有GifAnim控件,但是这个控件给出的控制功能不足,不可以控制播放、暂停、停止。当控件隐藏时也不会停止播放动画,会影响效率。 于是在原GifAnim的基础上做了增强,增原创 2015-01-07 21:41:45 · 6496 阅读 · 11 评论 -
duilib 修复Text控件无法设置宽度的bug,增加自动加算宽度的属性
转载请说明原出处,谢谢~~: 今天有朋友反映CTextUI控件无法设置宽度,于是修复了这个bug,顺便给Text控件增加了一个自动计算宽度的属性,描述如下 bug出现在EstimeteSize函数,修复后的主要代码如下: SIZE CTextUI::EstimateSize(SIZE szAvailable) { RECT rc原创 2015-01-05 11:01:59 · 3324 阅读 · 0 评论 -
改进duilib的richedit控件的部分功能
转载请说明原出处,谢谢~~ 如果要使用原创 2014-11-17 15:01:40 · 11197 阅读 · 1 评论 -
入门学习duilib的要点
转载请说明原出处: 在QQ群里经常会有刚开始学习duilib的朋友加入,问到一些属性用法和布局问题。为了避免一遍一遍重复回答,今天写个入门文章,简单说一下刚开始学duilib需要注意的地方,和学习duilib的方法。 alberl写过《duilib入门简明教程》和《duilib进阶教程》,是很不错的入门教程。再搭配duilib自带的9个demo,就原创 2015-02-14 13:24:02 · 10474 阅读 · 7 评论 -
duilib 使用图片素材或者算法给窗体增加阴影(源码和demo)
转载请说明原出处,谢谢: 之前我写的程序使用阴影时,一直是使用codeproject网站上的WndShadow类,并且把它当作单独的模块来使用,后来觉得使用阴影的情况非常多,所以今天就把这个类改写了一下,让他融入到duilib,并且可以直接使用xml来描述阴影,不需要写任何c++代码。 以前的WndShadow类是用算法来计算阴影,灵活性很大,原创 2015-01-10 09:51:16 · 10296 阅读 · 15 评论 -
duilib 修复CTreeViewUI复选功能判断不准确的bug
转载请说明出处,谢谢~~: CTreeViewUI里面自带了复选的功能,但是复选功能存在bug: 1)当一个分组下面存在子项时,子项被手动全选后,分组的复选框没有自动变为选中状态 2)当一个分组下面存在子项时,当所有子项都取消选中状态时,分组的复选框还是选中状态原创 2014-12-30 14:06:05 · 3164 阅读 · 1 评论 -
duilib List控件,横向滚动时列表项不移动或者显示错位的bug的修复
转载请说明出处,谢谢~~: 关于这个bug的修复我之前写过一篇博客,连接为:http://blog.csdn.net/zhuhongshu/article/details/40622705 本以为已经修复好,但是后来有网友私聊我,反映到还存在bug。原本已经解决的bug如下: 1.当List出现滚动条后,拖动滚动条,这时List原创 2014-12-30 13:26:43 · 5583 阅读 · 2 评论 -
duilib中控件拖拽功能的实现方法(附源码)
duilib库中原本没有显示的对控件增加拖拽的功能,而实际使用过程中拖拽功能也是有用武之地的。看群里有人问题duilib怎么支持拖拽,我也就写这篇文章说明一下duilib实现控件拖拽的方法。原创 2014-11-15 13:09:44 · 12891 阅读 · 11 评论 -
duilib 给List表头增加百分比控制宽度的功能
转载请说明原出处,谢谢~~: 最近项目里需要用到包含表头列表,而窗体大小改变后,每个列表项的宽度不会自动改变,这样窗体变宽后列表就出现了一大片空白,非常难看。所以给列表头增加了属性,可以控制让每个列表项的宽度根据百分比来计算。这样再配合我之前写的对List控件的增强代码,就能让列表项的每列按照百分比控制宽度。 分别要给CListHeaderUI类和CL原创 2015-01-07 21:58:51 · 4760 阅读 · 4 评论 -
仿酷狗音乐播放器已开源!
这是Redrain仿酷狗音乐播放器的完整代码,目的是帮助更多使用DuiLib的朋友学习这个库,如果代码有bug,或者对程序有疑问,可以联系我个人QQ或者QQ群,我经常在DuiLib QQ群活动,这个代码中包含了webkit内核浏览器、音乐播放类、菜单类、换肤功能等等。原创 2014-11-12 08:52:42 · 34791 阅读 · 70 评论 -
duilib 修复combo控件打开下拉菜单后不会自动定位到上次选择的位置上的bug
转载请说明原出处,谢谢: 今天群里一个网友向我反应combo控件的一个bug:单击combo控件,展开下拉菜单后,不会自动定位到上次选择的位置,而是定位到最开头的位置。 带有bug的效果图: 修复后的效果图:原创 2015-02-04 12:42:32 · 7578 阅读 · 3 评论 -
duilib让不同的容器使用不同的滚动条样式
装载请说明原出处,谢谢~~ 以前在给一个容器设置横纵向的滚动条时,一直是通过设置xml的Default标签来完成的,但是这样做有个很大的缺点就是,这个窗体里面的所有滚动条的样式只有一种。有些情况下需要为不同容器设置不同的滚动条样式。 其实duilib已经有这个功能了,在CContainer容器类里面有两个属性:vscrollbarst原创 2014-12-29 17:11:38 · 6740 阅读 · 0 评论 -
基于wke封装的duilib的webkit浏览器控件,可以c++与js互交,源码及demo下载地址
转载请说明原出处,谢谢~~ 是原创 2014-08-13 19:27:22 · 17224 阅读 · 47 评论 -
duilib List控件,横向滚动时列表项不移动或者移动错位的bug的修复
转载请说明出处,谢谢~~ 群里有朋友提到了使用Combo控件时,当下拉列表出现,此时鼠标滚轮滚动,下拉列表就自动消失了。我看了一下源码,这个bug的修复很简单。 CComboUI控件被单击时创建CComboWnd窗体来模拟下拉菜单。CComboWnd类在HandleMessage函数里处理了鼠标滚动消息WM_MOUSEWHEEL,他把这个消息转发给CComboUI的Do原创 2014-10-30 17:56:25 · 4016 阅读 · 4 评论 -
仿酷狗音乐播放器开发日志十九——CTreeNodeUI的bug修复二(附源码)
转载请说明原出处,谢谢 今天本来打算把仿酷狗播放列表的k原创 2014-08-08 20:40:55 · 3158 阅读 · 0 评论 -
给Webkit内核的浏览器控件增加互交功能
昨天封装了基于webkit的wke浏览器内核,做成了duilib的浏览器控件,实现了浏览功能,但是单单的浏览功能还不满足需求,在我的仿酷狗项目中乐库的功能需要与浏览器互交。 大家知道在使用酷狗浏览器时,右侧的乐库,当我们选中了某个音乐,这时酷狗就会去缓冲并且播放响应的歌曲。本身浏览器与c++的窗体是不会互交的。而酷狗使用的IE浏览器内核,在c++代码中对CHtmlView类进行继承和重写原创 2014-07-26 15:55:03 · 12730 阅读 · 4 评论 -
让程序使用自带的字体文件
转载请说明原出处,谢谢~· 在原创 2014-09-19 12:14:24 · 7865 阅读 · 7 评论 -
使用duilib开发半透明异形窗体程序(补充)
转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/43532791 关于半透明异形窗体的第一篇文章地址为:http://blog.csdn.net/zhuhongshu/article/details/43532791。 距离上一篇半透明窗体的博客,已经过去一年,现在这几天又对Du原创 2016-04-26 15:23:17 · 10519 阅读 · 17 评论 -
Redrain 通用菜单控件使用方法和说明(增加动态添加功能、附源码和demo)
转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/38253297 2015.1.19 Redrain原创 2015-01-19 23:38:33 · 8332 阅读 · 12 评论 -
duilib CDateTimeUI 在Xp下的bug修复
转自:http://my.oschina.net/u/343244/blog/370131CDateTimeUI 的bug修复。修改CDateTimeWnd的HandleMessage方法?1234567891011121314转载 2015-01-21 16:02:50 · 2696 阅读 · 0 评论 -
duilib中的V和H布局中滚动条问题
转自博客:http://blog.csdn.net/damingg/article/details/41149037首先看一段xml代码[html] view plaincopy xml version="1.0" encoding="utf-8"?> Window size="300,200" caption="0,0,300,2转载 2014-11-15 21:49:29 · 4820 阅读 · 1 评论 -
关于duilib中的list的扩展探索
原文地址:http://blog.csdn.net/tragicguy/article/details/21893065今天在做一个程序的界面时,需要在一个列表中显示除文字以外的其他控件,如:Edit、Button、Combo等;我做界面使用的是duilib,其自带的CListUI并不能满足此项功能,需要进行扩展,在此记录,以便后续使用需要。 先看一下实现的效果:转载 2014-08-16 15:14:08 · 4625 阅读 · 2 评论 -
修复duilib CEditUI控件和CWebBrowserUI控件中按Tab键无法切换焦点的bug
在duilib中,切换焦点一直存在bug:当窗体中无CEditUI或者CWebBrowserUI时,按tab键会让焦点在Button一类的控件中切换。而当存在CEditUI或者CWebBrowserUI时,CEditUI或者CWebBrowserUI获取焦点后,再点击tab键,焦点就不会转移到其他控件上了。今天解决了这个bug,记录到博客里。原创 2014-11-28 13:33:25 · 7107 阅读 · 4 评论 -
duilib底层机制剖析:窗体类与窗体句柄的关联
看到群里朋友有人讨论WTL中的thunk技术,让我联想到了duilib的类似技术。这些技术都是为了解决c++封装的窗体类与窗体句柄的关联问题。而我觉得duilib解决这个问题的方法要比thunk简单好用原创 2014-09-19 14:46:17 · 7112 阅读 · 6 评论 -
duilib开发基础:创建自定义控件的过程
用Duilib开发界面时,很多情况下库自带的控件不满足需求,就需要基于Duilib建立自定义控件(自绘新的控件,或者用来封装win32的子窗体,来显示视频、网页等)。 在群里经常会有刚接触Duilib的朋友问题怎原创 2015-04-29 11:44:23 · 19125 阅读 · 8 评论 -
Redrain个人维护并使用的DuiLib和UiLib库源码下载地址
我把我自己使用的Duilib和Uilib库都上传到了GitHub,完整的Duilib库代码下载地址:点击打开链接 这是我自己使用的Duilib和Uilib库,修复了我在博客中说明的所有bug以及很多还没有去说明的bug,同样也包含别人修复过的bug。库里面包含我扩展过的部分控件。以及添加了Duilib扩展群群主heat的透明异形窗体功能的支持。 这个库是我用v原创 2014-11-03 14:32:25 · 45395 阅读 · 32 评论 -
优化Duilib图片属性解析代码,提升绘制效率
转载请说明原出处,谢谢~·http://blog.csdn.net/zhuhongshu/article/details/49026605 好长时间没写duilib博客了,最近在写毕业设计,毕设的软件界面自然就用比较熟悉的Duilib来搞了,正好把Duilib的一些地方一起改改。 Duilib的图片绘制代码中有个影响性能的地方,所有的控件的图片绘制都是调用CCont原创 2016-04-26 08:47:41 · 8304 阅读 · 2 评论 -
让程序使用自带的字体2
转载请说明原出处,谢谢~~: 之前写过一篇博客,说明关于加载自带字体的。http://blog.csdn.net/zhuhongshu/article/details/39396223,不过后来发现使用AddFontResource函数缺点不少。主要是创建的字体不是自己程序私有的,其他程序也可以使用到。而且函数调用后会在程序目录创建一个.FOT格式的文件。后来再次翻阅MS原创 2015-04-29 09:57:56 · 3316 阅读 · 1 评论 -
使用duilib开发半透明异形窗体程序(附源码和demo)
转载请说明原出处,谢谢~~: 半透明异形窗体的功能在之前维护的老版本的duilib里面已经有了基本的功能,但是因为一直存在较多的缺陷,所以我一直建议少用,就连我自己写仿酷狗项目也只是在几个小地方用了半透明异形窗体。不过今天在群里和其他几位朋友讨论后,发现了之前的许多问题以及解决方法。所以我立马修复了当前的库,并且写了一个半透明异形窗体的demo来测试效果。原创 2015-02-05 19:58:45 · 16027 阅读 · 6 评论 -
解决duilib使用zip换肤卡顿的问题(附将资源集成到程序中的操作方法)
转载请说明原出处,谢谢~~ 是原创 2014-10-16 13:04:29 · 6775 阅读 · 19 评论 -
duilib 修复 容器控件 rightbordersize和bottombordersize属性显示错误的bug
转载请说明出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/42265209 DuiLib的容器控件可以用bordersize统一指定边框宽度,也可以用rightbordersize、bottombordersize等属性单独指定某一个边框的宽度。但是rightbordersize、bottombord原创 2015-05-07 14:50:26 · 3109 阅读 · 5 评论 -
增加duilib edit控件的提示功能和多种文字颜色
转载请说明原出处,谢谢~~: duilib的CEditUI控件内部使用了win32的原生edit控件,最近在做的一个项目里需要增强CEditUI控件的一些功能,我就把改进的代码写到博客里。实际上改进代码很简单,不过也许能其他人会用到,就不用再费时了。 增加的功能如下: 1、增加提示文本,并且可以设置提示文本的颜色,当CEditUI初始化或者无文本的状原创 2014-12-07 12:20:58 · 9839 阅读 · 10 评论 -
duilib各种布局的作用,相对布局与绝对布局的的意义与用法
我使用duilib快3个月了,总体感觉duilib的使用还是较为简单的,只是刚入门时可能有些摸不清头脑。今天写一篇关于duilib的入门日志,大致说一下duilib中的各个布局的作用,以及很关键的相对布局与绝对布局的意义于用法。希望可以帮到使用duilib的新手朋友们。duilib高手就可以直接省略这篇文章了!原创 2014-08-13 11:46:44 · 36694 阅读 · 20 评论 -
仿酷狗音乐播放器开发日志二十七 用ole为窗体增加文件拖动功能(附源码)
转载请说明原出处,谢谢~~原创 2014-09-09 13:14:18 · 4057 阅读 · 1 评论 -
duilib制作窗体动画效果
本文介绍了使用Duilib界面库开发窗体动画效果的方法好思路,而这个思路不单单可以用在Duilib库中!原创 2015-10-12 10:44:08 · 13400 阅读 · 10 评论 -
duilib combo控件,当鼠标滚动时下拉列表自动关闭的bug的修复
转载请说明出处,谢谢~~ 我在仿酷狗音乐播放器的开发日志系列里,曾经提到了这个bug,文章地址为:http://blog.csdn.net/zhuhongshu/article/details/38145365。但是当时的开发日志里,我对bug的描述过于简单。所以重新说明一下。 使用Duilib时,当为一个控件指定了float属性,也就是使用了绝对布局,那个控件的原创 2014-10-30 16:54:35 · 3749 阅读 · 1 评论