转载请说明出处,谢谢~~ 昨天封装好了基于webkit的浏览器控件,修复了duilib的浏览器功能的不足,而我的仿酷狗播放器项目中不光需要浏览器,同时也需要视频播放功能,也就是完成MV的功能.所以我打算封装个视频播放控件. 既然要封装视频播放控件,那就应该封装一个功能强大,不只是用在这个项目,也为将来可能出现的项目做准备.以前不怎么接触视频播放这块,所以查了很多资料.目前市场上90%的视频播放器都是基于这三个构架:MPC/HC架构 .mplayer架构 .VLC架构 .     关于这三个构架的…
转载请说明原出处,谢谢~~ 前些日子用wke内核封装了duilib的webkit浏览器控件,好多群里朋友私聊我希望可以我公布源码,今天把这个控件的源码和使用demo公布.其实这个控件封装起来没什么难度,我只是按照原来作者的demo,把相应的消息封装成duilib对应的. 在此首先要感谢wke内核的作者BlzFans以及soui2界面库的作者flyhigh,BlzFans精简了webkit内核后封装为wke并公布了源码,flyhigh对wke进行处理让他更容易移植到dui工程中.wke内核10M大…
使用 WebView2 封装一个生成 PDF 的 WPF 控件 最近在迁移项目到 .net6,发现项目中用的 PDF 库不支持 .net6,于是想着换一个库.结果找了一大圈,发现不是版本不支持,就是收费. 嗐!还能咋办,只能自己搞一个 PDF 生成控件咯. 环境准备 WPF + WebView2 + Vue WebView2 WebView2.CoreWebView2.PrintToPdfAsync 可以将 html 文件生成 pdf. CEF 也有类似的 API,Evergreen WebVi…
在<duilib进阶教程 -- TreeView控件的bug (9)>里,Alberl发现了两个bug,并解决了其中一个,现在教程已经接近尾声啦,所以Alberl就解决了另外一个bug. Bug现象: 第一次启动软件时,由于播放列表并没有文件,所以没有显示垂直滚动条,当我们拖入文件后,就显示了垂直滚动条,这个时候会自动调整子控件的宽度,于是一切显示正常. 但是当我们第二次启动软件时,由于软件会加载文件到播放列表,所以一开始就显示了垂直滚动条,但这个时候并没有自动调整子控件的宽度,所以子控件显示…
原文:示例:WPF中Slider控件封装的缓冲播放进度条控件 一.目的:模仿播放器播放进度条,支持缓冲任务功能 二.进度: 实现类似播放器中带缓存的播放样式(播放区域.缓冲区域.全部区域等样式) 实现设置播放中断时满足缓存够一定数量才继续播放的功能 实现设置缓存数量最大限制,即缓存够一定数量即停止缓存,减少开销 实现缓存中缓存进度的获取 二.示例(GIF) 三.实现: 1.UI部分 添加用户控件:BufferPlayControl.Xaml 设置Slider样式 <!--Slider模板-->…
新版博客已经搭建好了,有问题请访问 htt://www.crazydebug.com 公司二期好主播项目,决定用duilib开发界面,且从ie内核换成谷歌内核 再用duilib自定义一个BrowserUI控件之后,在别的头文件中include时,有时候会出现如下错误 1>d:\duilib学习\好主播\好主播\haozhubo\haozhubo\include/cef_dom.h(261): warning C4003: “GetNextSibling”宏的实参不足1>d:\duilib学习\…
近些天在duilib群里经常有朋友问起,怎么让duilib的IE控件可以去边框,去滚动条的问题,或者是如何去控件IE控件的行为.为了避免重复的回答,我就写一篇博文,把处理方法说明一下. duilib中有Webbrowser控件,是继承ActivexUI控件后针对IE进行的封装,使用IE控件的话就用他了.这个控件留了一个接口名为SetWebBrowserEventHandler,这个函数用了指定一个事件处理器,来控制IE的行为.而这个函数需要一个CWebBrowserEventHandler对象指…
转载请说明出处,谢谢~~ 我在仿酷狗音乐播放器的开发日志系列里,曾经提到了这个bug,文章地址为:http://blog.csdn.net/zhuhongshu/article/details/38145365.但是当时的开发日志里,我对bug的描述过于简单.所以重新说明一下. 使用Duilib时,当为一个控件指定了float属性,也就是使用了绝对布局,那个控件的位置和大小就固定了.同时Duilib提供了另一个属性:relativepos.这个属性在官方的属性列表里面没有给出,我这里补充一下:…
转载请说明原出处,谢谢~~ 近些天在duilib群里常常有朋友问起,怎么让duilib的IE控件能够去边框.去滚动栏的问题,或者是怎样去控件IE控件的行为.为了避免反复的回答,我就写一篇博文,把处理方法说明一下. duilib中有Webbrowser控件,是继承ActivexUI控件后针对IE进行的封装.使用IE控件的话就用他了. 这个控件留了一个接口名为SetWebBrowserEventHandler,这个函数用了指定一个事件处理器,来控制IE的行为. 而这个函数须要一个CWebBrowse…
到上一个教程为止,界面显示的代码就都介绍完啦,现在开始介绍控件的响应,其实在<2013 duilib入门简明教程 -- 事件处理和消息响应 (17)>里已经列出了duilib自己定义的所有消息,并且前面也介绍了Button和Tab的响应,还是有小伙伴们不知道怎么响应其他控件,因此这里介绍一下其他控件的响应. 需要注意的是,如果要响应控件,则必须给控件指定一个唯一的ID,在windows编程里,每个控件的ID都是一个数字,如IDC_BUTTON_ 等等,可以用GetDlgItem()来获取控件的…