自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (4)
  • 收藏
  • 关注

原创 Duilib界面库Capture系列的相关bug解决

Duilib是个轻量级的Windows界面库,可以让使用者在最快地时间构建出自己的项目,而且依赖最少。这里之所以突出它的“轻量级”,是为了强调作者在构建该界面库时的良苦用心。但是,物极必反,有些东西做得足够“傻瓜”后,就会变的不灵活。Duilib的控件的Caputre是个硬伤啊(希望作者不要骂我啊,我真是不好意思拆这个台,但是我今天真的遇到一个不可忽视的bug)。这个bug咱们暂且不说,先介绍一下

2015-05-27 11:36:38 3226 5

原创 关于Duilib的扩展——“拖放”实现(二)

上一次我们实现了让窗口支持DropTarget,我们实现了一个叫做IDropTarget的接口。但是还没有给控件实现,当然如果你在这个窗口里面只有一个控件实现DropTarget的话,你完全可以使用Rect来进行区域限制,但是这样还是比较麻烦,还要手动添加一堆代码。所以我们直接让控件实现这个功能,只需要一个bool属性,就可以控制一个控件是否能接受拖拽。为了减少源代码的修改,我们弄下面

2015-02-05 18:10:10 4099 3

原创 关于Duilib的扩展——“拖放”实现(一)

目前我们的Duilib是不支持拖拽的,想必大家已经知道什么是“拖拽”了,比如Windows文件浏览器,拖动文件到另一个窗口,实现复制或移动;再比如,QQ的好友列表,拖动,互换位置。          所谓“拖拽“其实是两个动作,一个主动,一个被动。主动的叫”拖“,被动的叫”放“。那么支持”拖“动作的控件就叫做DropSource(拖放源),支持”放“动作的控件就叫做DropTarget(拖放目

2015-01-04 00:17:27 5531

原创 新版MenuDemo——使用Duilib模拟Windows原生菜单

相信玩Duilib的朋友已经期待这篇文章很久了,因为我在一周前发表的文章——“无焦点窗口的实现”里面提到了无焦点窗口在菜单里面的应用,并承诺大家,写一个关于Menu实现的Demo分享给大家。先上几张截图,看一下效果          怎么样,Skilla这次的作品还能让你心动吧,没错,上面的菜单效果可不是酷狗里面的截图,就是我们熟悉的Duilib实现的。         说起菜单,

2014-12-22 13:07:45 7916 16

原创 轻轻的我走了,正如我轻轻的来——Duilib无焦点窗口的实现

在Windows编程中,我们已经习惯了一个窗口从创建到显示并获得焦点。我们总感觉一个窗口创建出来获得焦点是理所理所当然的,一个窗口只要显示就必须获得焦点。一个新窗口显示时,会收到到WM_SETFOCUS消息,然后旧的窗口会收到WM_KILLFOCUS消息。可能我们并不关心焦点的切换,因为从视觉角度来看,没有任何影响,但是键盘类的消息却在焦点变化时不断切换响应窗口。我们都知道,鼠标消息到来时,决定哪

2014-12-18 20:21:57 5792 3

原创 Duilib源码的关键部分

Skilla使用duilib已经有一年了,经过一年的摸索,也逐渐地解开了里面的大大小小的秘密。从熟悉Demo到布局特性的了解也是经历了数月的时间,核心机制也是最后才弄明白的,源码的探索也是由表及里的。但是这个速度是非常缓慢的,所以今天Skilla要写这篇文章,让大家可以有主到次地来认识Duilib。        其实,要想以最快的速度把源码弄通,是需要有先后顺序的,说的再简单点就是要抓住核心

2014-11-26 10:28:57 3593 4

原创 DirectUI通用动画框架

在编写VC界面时,编写动画比较困难,代码重用性不高。编写一个临时动画需要创建定时器或者线程来驱动改变渲染状态,来达到画面实时改变的目的。但是定时器和线程都是比较难以维护的,处理不好很容易造成资源浪费甚至程序崩溃。         Skilla在上一周整理好了skillcore库,这一次又给它增添了通用动画框架。这个动画框架本身没有渲染功能,主要是提供动画的驱动事件,使用时需要自己去处理动画事件

2014-11-22 22:19:06 4190 6

原创 让Duilib多线程编程更容易

记得很久以前就听有人说过Duilib

2014-11-18 13:10:37 9384 7

原创 Juce源码分析(九)应用程序基类ApplicationBase

Juce应用程序基类ApplicationBase,管理应用程序的生命周期,包括消息管理器的初始化,应用层的初始化,消息循环,退出循环后的shutdown通知

2014-11-17 20:58:41 2370 2

原创 关于"栈"对象弱引用的线程安全问题

在c++中,使用弱引用可以检测

2014-11-10 10:01:35 2154

原创 Juce源码分析(八)强引用与弱引用

Juce中有一对强弱引用,分别

2014-11-03 15:58:28 2112

原创 Juce源码分析(七)弱引用(2)引用对象指针的维护与原对象析构后的通知

弱引用的使用方法如下  MyObject* n = new MyObject();    WeakReference myObjectRef = n;    MyObject* pointer1 = myObjectRef;  // returns a valid pointer to 'n'    delete n;    MyObject* pointer2

2014-10-31 10:20:05 1472

原创 Juce源码分析(六)弱引用(1)引用计数对象与引用计数对象指针

相信很多朋友都知道,弱引用是Juce源码中的一个亮点

2014-10-29 10:35:22 1342

原创 Juce源码分析(五)对象泄露探测器

内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在被某个进程榨干”,最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。所以“内存泄漏”是从操作系统的角度来看的。这里的存储空间并不是指物理内存,而是指虚拟内存大小,这个虚拟内存大小取决于磁盘交换区设定的大小。由程序申请的一块内存,如果没有任何一个指针指向它,那么这块内存就泄露了。

2014-10-28 10:39:45 1845

原创 Juce源码分析(四)自旋锁

上回说到,在多线程中操作共享变量的问题

2014-10-27 13:48:20 1422 1

原创 Juce源码分析(三)数据的原子操作

在多线程程序中,当多个线程同时访问同一

2014-10-27 09:23:53 1828 2

原创 Juce源码分析(二)内存的智能管理

Juce虽然有很多优点,值得我们

2014-10-25 12:55:11 2279

原创 Juce源码分析(一)Juce的优势

void Create{}

2014-10-24 13:36:12 4562

Duilib新版MenuDemo(仿酷狗菜单展示,仿真度超过90%)

Duilib新版MenuDemo,和以前的MenuDemo相比有翻天覆地的变化,扩展性更强,支持键盘事件,维护更加简单。里面有仿酷狗菜单的Demo,仿真程度在90%以上。上次上传的Release有bug,现在已经解决,欢迎下载!!!

2014-12-23

Duilib新版MenuDemo(附带仿酷狗菜单Demo,仿真程度高达90%以上)

Duilib新版MenuDemo,和以前的MenuDemo相比有翻天覆地的变化,扩展性更强,支持键盘事件,维护更加简单。里面有仿酷狗菜单的Demo,仿真程度在90%以上。

2014-12-22

skillcore实现的UI动画Demo

Skilla在上一周整理好了skillcore库,这一次又给它增添了通用动画框架。这个动画框架本身没有渲染功能,主要是提供动画的驱动事件,使用时需要自己去处理动画事件去完成动画渲染。该框架比较简单,动画由线程来驱动。

2014-11-22

skillcore及Demo

Skilla自己封装的库,借鉴与Juce和boost,使Duilib编程更容易,同样适用于其他DirectUI库和MFC

2014-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除