
Duilib学习资料
wdpforinter
人生的奋斗就是为了过去吹过的牛逼和将来的吹牛逼,总之一切都是为了吹牛逼。
展开
-
duilib库分析: 消息流程分析
看下CWindowWnd类与CPaintManagerUI类是咋进行消息分发的吧. 1. 先看下CPaintManagerUI类的MessageLoop函数: void CPaintManagerUI::MessageLoop() { MSG msg = { 0 }; while( ::GetMessage(&msg, NU转载 2014-11-28 16:23:27 · 426 阅读 · 0 评论 -
Duilib扩展《01》— 双击、右键消息扩展
用过duilib的可能会发现,duilib中有些控件没能很好的区分左键、右键等消息。所以根据实际需要,我们需要进行相关区分处理,或者自行扩展。一. 左键、右键消息区分我们以CListUI控件来分析说明。对于CListUI控件,在实际应用中有时我们需要响应双击或右键消息来执行不同操作,而目前的duilib中CListUI控件Item选择是无法区分左键右键消息的,究其原因dui转载 2014-11-28 16:46:18 · 493 阅读 · 0 评论 -
Duilib学习笔记《07》— 资源加载
Duilib的界面表现力能如此丰富,很大程度上得益于贴图描述的简单强大。通过之前的学习及参看相关例子,我们可以发现,在XML布局文件中,不管是窗体背景还是控件,都添加了对应的图片资源以此来美化界面。而很多人在参看例子时发现有着多种添加资源方式,其实总结下来可以简单概括为一下两种:简单模式使用文件名作为贴图内容,这种方式下,此图片将会以拉伸方式铺满控件。复杂模式使用带转载 2014-11-28 16:44:16 · 434 阅读 · 0 评论 -
Duilib学习笔记《02》— 界面布局
1. 界面描述XML文件Duilib主要是通过XML来进行界面的布局配置,程序通过读取并解析XML文件来创建对应的窗体。DuiLib的页面布局分为三类:窗体(Window)、容器(Contain)和控件(Control)。顾名思义窗体就是要创建的窗口,容器则相当于是窗体内的一个子窗体,可以在容器内添加容器或者控件,当然定义的位置也都是相对与容器内的左上顶点;控件就是一些常用的Button、转载 2014-11-28 16:31:03 · 504 阅读 · 0 评论 -
DuiLib 源码分析——UIBase
DuiLib源码分析 ——以DuiLib 1.01版为分析目标 ——colin3dmax 分析于2011-6-16 19:44----------------------------------------------------------------------------------分析约定:private o------- 私有的成员变量或方法prot转载 2014-11-28 16:03:49 · 418 阅读 · 0 评论 -
Duilib学习笔记《06》— 窗体基类WindowImpBase
在前面的例子中我们发现,窗口都是继承CWindowWnd、INotifyUI,然后重载相关函数去实现。显然,我们发现窗口的创建流程实际上都是差不多的,主要只是在OnCreate加载的配置文件不同等等…所以,能不能创建一个公有的窗体基类呢?其实,在duilib中已经提供了一个窗体基类 WindowImplBase:在基类内搭建窗口的消息框架,各处理函数为虚函数,子类可以重载处理函数,实现其处理。转载 2014-11-28 16:41:00 · 445 阅读 · 0 评论 -
Duilib学习笔记《01》— duilib整体框架认识
从GoogleCode上下载的duilib工程中附带的一副总体设计图(如下所示),可以先整体了解一下,有个初步的认识,对后续进一步深入了解学习会很有帮助。通过设计图有了一个初步认识后,接下来开始进一步深入学习了解,主要从以下几个方面进行了解学习:库的组成;框架基本流程;元素创建机制;消息处理机制。1. 库的基本组成1.1 工具库由于duilib没有对转载 2014-11-28 16:28:57 · 670 阅读 · 0 评论 -
DuiLib 源码分析——UIManager
DuiLib源码分析 ——以DuiLib1.01版为分析目标----------------------------------------------------------------------------------分析约定:private o------- 私有的成员变量或方法protect x------- 受保护的成员变量或方法public +------- 公转载 2014-11-28 16:13:12 · 481 阅读 · 0 评论 -
Duilib中各个类的简单介绍
转自 http://note.sdo.com/u/icez/n/mvO-X~jyVnpFnM01A0000mDirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP、Vista、Windows 7,转载 2014-11-28 16:08:00 · 503 阅读 · 0 评论 -
Duilib学习笔记《05》— 消息响应处理
在Duilib学习笔记《04》中已经知道了如何将窗体显示出来,而如何处理窗体上的事件、消息呢?一. 系统消息窗体显示的时候我们就已经说了,窗体是继承CWindowWnd类的,对于窗体的部分消息的处理,需要重载该类的LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam); 函数。在显示窗体部分我们创建窗体WM_转载 2014-11-28 16:36:13 · 515 阅读 · 0 评论 -
Duilib学习笔记《04》— 窗体显示
在前面已经了解了duilib控件以及界面布局相关内容,接下来就要考虑该如何将xml中描述的布局通过界面展现出来。实际上在 Duilib学习笔记《01》 中我们已经简单提到过基本的流程及元素创建机制。这里我们直接用 Duilib学习笔记《03》最后提供的代码,下面我们就具体来说明:一. duilib调用设置1#include "..\Dui转载 2014-11-28 16:34:39 · 513 阅读 · 0 评论 -
Duilib学习笔记《03》— 控件使用
在前面已经对duilib有个一个基本的了解,并且创建了简单的空白窗体。这仅仅只是一个开始,如何去创建一个绚丽多彩的界面呢?这就需要一些控件元素(按钮、文本框、列表框等等)来完善。一. Duilib控件简介在之前空白窗体的基础上,在界面上添加了一些控件,让大家先对这些控件效果有个基本的认识。如下图所示:基本控件高级控件转载 2014-11-28 16:32:28 · 872 阅读 · 0 评论 -
duilib list控件扩展
对于简单的list控件已经有前辈分析了自带demo的ListRes全过程,duilib DirectUI库里面的一个简单的例子ListDemo,他分析了listdemo的来龙去脉,这里我只是将个人理解的list分析一下。由于自带的listdemo不能满足要求,所以必须个人扩展list,通过尝试 发现1. 列表头禁止拖动情况这种情况很简单, 配置xml的时候将 表转载 2014-12-02 10:52:59 · 3404 阅读 · 0 评论