Duilib 方法综合
文章平均质量分 75
rundll64
这个作者很懒,什么都没留下…
展开
-
Duilib学习笔记《01》— duilib整体框架认识
从GoogleCode上下载的duilib工程中附带的一副总体设计图(如下所示),可以先整体了解一下,有个初步的认识,对后续进一步深入了解学习会很有帮助。通过设计图有了一个初步认识后,接下来开始进一步深入学习了解,主要从以下几个方面进行了解学习:库的组成;框架基本流程;元素创建机制;消息处理机制。1. 库的基本组成1.1 工具库由于duilib没有对外部的任何库进行依赖转载 2014-09-25 21:35:39 · 529 阅读 · 0 评论 -
Duilib CButtonUI按钮类的双击与右击消息处理
这部分在duilib中默认是没有处理的,代码在文件UICommonControls.cpp中的void CButtonUI::DoEvent(TEventUI& event)函数里。要加上双击和右击的处理也非常简单,下面是我的代码:if( event.Type == UIEVENT_BUTTONDOWN || event.Type == UIEVENT_DBLCLICK) {转载 2014-10-05 00:22:54 · 2121 阅读 · 0 评论 -
duilib库分析: 消息流程分析
看下CWindowWnd类与CPaintManagerUI类是咋进行消息分发的吧. 1. 先看下CPaintManagerUI类的MessageLoop函数: void CPaintManagerUI::MessageLoop() { MSG msg = { 0 }; while( ::GetMessage(&msg, NULL, 0, 0) ) {转载 2014-10-05 00:15:04 · 545 阅读 · 2 评论 -
DUiLib 源码分析——第二篇UIBase
DUiLib 源码分析 ——以UiLib 1.01版为分析目标 ——colin3dmax 分析于2011-6-16 19:44----------------------------------------------------------------------------------分析约定:private o------- 私有的成员变量或方法protect x-------转载 2014-10-05 00:12:51 · 542 阅读 · 0 评论 -
DUILibxml配置
我这里是借用网友colin3dmax整理的关于duilib的分析哈,感谢他的分享,我觉得很有必要贴出来让大家都学习观摩下DUILibxml配置项根节点 子类 属性 类型Window |----转载 2014-10-05 00:10:26 · 623 阅读 · 0 评论 -
duilib中各控件响应的消息类型
消息说明Senderclick鼠标点击CButtonUIdropdown下拉显示CComboUIheaderclick点击列标题CListHeaderItemUIitemactivate CListElementUI、CListContainerElementUIitemclick单击选项C转载 2014-09-25 21:49:14 · 1145 阅读 · 0 评论 -
Duilib介绍以及各个类的简介
DirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP、Vista、Windows 7,如浏览器左侧的TaskPanel,控制面板导航界面,Media Player播放器,即时通讯工具MSN Messa转载 2014-09-25 21:50:15 · 1516 阅读 · 0 评论 -
Duilib学习笔记《02》— 界面布局
1. 界面描述XML文件Duilib主要是通过XML来进行界面的布局配置,程序通过读取并解析XML文件来创建对应的窗体。DuiLib的页面布局分为三类:窗体(Window)、容器(Contain)和控件(Control)。顾名思义窗体就是要创建的窗口,容器则相当于是窗体内的一个子窗体,可以在容器内添加容器或者控件,当然定义的位置也都是相对与容器内的左上顶点;控件就是一些常用的Button、Ed转载 2014-09-25 21:31:55 · 687 阅读 · 0 评论 -
Duilib学习笔记《03》— 控件使用
高级控件一些控件的基本显示效果就如同上面两幅图所示。实际上,在Duilib学习笔记《01》—duilib整体框架认识中我们就已经提到过Duilib这个库的组成,其中就提到了控件这部分,如下图所示:对应到工程代码中,实际上是分为了两部分——Core 和 Control。Core中包含的是所有控件公用的部分,里面主要是一些基类和绘制的封装。Control中包含的就是各个不同的控转载 2014-09-25 21:25:59 · 571 阅读 · 0 评论 -
Duilib学习笔记《06》— 窗体基类WindowImpBase
在前面的例子中我们发现,窗口都是继承CWindowWnd、INotifyUI,然后重载相关函数去实现。显然,我们发现窗口的创建流程实际上都是差不多的,主要只是在OnCreate加载的配置文件不同等等…所以,能不能创建一个公有的窗体基类呢?其实,在duilib中已经提供了一个窗体基类 WindowImplBase:在基类内搭建窗口的消息框架,各处理函数为虚函数,子类可以重载处理函数,实现其处理。转载 2014-09-25 21:11:22 · 658 阅读 · 0 评论 -
Duilib学习笔记《07》— 资源加载
Duilib的界面表现力能如此丰富,很大程度上得益于贴图描述的简单强大。通过之前的学习及参看相关例子,我们可以发现,在XML布局文件中,不管是窗体背景还是控件,都添加了对应的图片资源以此来美化界面。而很多人在参看例子时发现有着多种添加资源方式,其实总结下来可以简单概括为一下两种:简单模式使用文件名作为贴图内容,这种方式下,此图片将会以拉伸方式铺满控件。复杂模式使用带属性的字符串表示转载 2014-09-25 21:10:56 · 617 阅读 · 0 评论 -
Duilib学习笔记《05》— 消息响应处理
在Duilib学习笔记《04》中已经知道了如何将窗体显示出来,而如何处理窗体上的事件、消息呢?一. 系统消息窗体显示的时候我们就已经说了,窗体是继承CWindowWnd类的,对于窗体的部分消息的处理,需要重载该类的LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam); 函数。在显示窗体部分我们创建窗体WM_CREA转载 2014-09-25 21:15:04 · 564 阅读 · 0 评论 -
DuiLib通用窗口类WindowImplBase封装
.h头文件.CPP头文件转载 2014-09-25 21:08:22 · 1341 阅读 · 0 评论 -
duilib创建的窗体添加边框阴影效果
在使用duilib过程中,发现很多人提到关于创建窗体边框阴影效果的问题,查阅了下相关资料,找到如下代码,记录如下:WndShadow.h头文件#pragma once#include "map"class CWndShadow{public: CWndShadow(void);public: virtual ~CWndShadow(void);protected:转载 2014-09-25 21:43:11 · 5776 阅读 · 1 评论 -
Duilib学习笔记《04》— 窗体显示
在前面已经了解了duilib控件以及界面布局相关内容,接下来就要考虑该如何将xml中描述的布局通过界面展现出来。实际上在 Duilib学习笔记《01》 中我们已经简单提到过基本的流程及元素创建机制。这里我们直接用 Duilib学习笔记《03》最后提供的代码,下面我们就具体来说明:一. duilib调用设置#include "..\DuiLib\UIlib.h"using namesp转载 2014-09-25 21:17:09 · 475 阅读 · 0 评论 -
Duilib扩展《01》— 双击、右键消息扩展
用过duilib的可能会发现,duilib中有些控件没能很好的区分左键、右键等消息。所以根据实际需要,我们需要进行相关区分处理,或者自行扩展。一. 左键、右键消息区分我们以CListUI控件来分析说明。对于CListUI控件,在实际应用中有时我们需要响应双击或右键消息来执行不同操作,而目前的duilib中CListUI控件Item选择是无法区分左键右键消息的,究其原因duilib中对这转载 2014-09-25 21:40:23 · 633 阅读 · 0 评论 -
Duilib学习总结
Duilib学习笔记:Duilib学习笔记《01》— duilib整体框架认识Duilib学习笔记《02》— 界面布局Duilib学习笔记《03》— 控件使用Duilib学习笔记《04》— 窗体显示Duilib学习笔记《05》— 消息响应处理Duilib学习笔记《06》— 窗体基类WindowImpBaseDuilib学习笔记《07》— 资源加载Duilib扩展:转载 2014-09-25 21:44:53 · 603 阅读 · 0 评论 -
DUiLib 源码分析——第一篇UIManager
DUiLib 源码分析 ——以UiLib 1.01版为分析目标----------------------------------------------------------------------------------分析约定:private o------- 私有的成员变量或方法protect x------- 受保护的成员变量或方法public +------- 公开的成员转载 2014-10-05 00:10:53 · 709 阅读 · 0 评论