使用dulilib DirectUI库(一)】的更多相关文章

1.在创建的窗口类里面 需要继承CWindowWnd.INotifyUI 对于CWindowWnd里面的方法: 实现;,重载virtualUINTGetClassStyle()const;返回窗口的风格类型,重载virtualvoidOnFinalMessage(HWNDhWnd);, 对于INotifyUI里面的,只有一个唯一的抽象方法: ; 当你实现了这个Notify,才能正常的接收.处理消息 来看看主要的消息处理部分: void Notify(TNotifyUI& msg) { if( m…
http://download.csdn.net/detail/pcradio/9254881 http://blog.csdn.net/pcradio…
1.首先来看这里的CRichListWnd 已经不再是从CWindowWnd继承了 classCRichListWnd:publicWindowImplBase 从WindowImplBase中,可以看到有三个抽象函数: ; ; ; 这些都很简单,只是返回固定的string 2.看看WindowImplBase class UILIB_API WindowImplBase : public CWindowWnd , public CNotifyPump , public INotifyUI ,…
转载:http://www.cnblogs.com/setoutsoft/p/4996870.html 在Windows平台上开发客户端产品是一个非常痛苦的过程,特别是还要用C++的时候.尽管很多语言很多方法都可以开发Windows桌面程序,目前国内流行的客户端产品都是C++开发的,比如QQ,YY语音,迅雷等.快速,稳定是我认为的应用软件开发框架最基本的要求,对于UI还有两个要求就是界面美观,配置灵活.C++语言满足了快速的要求,传统的客户端软件开发框架如MFC,WTL等满足了稳定的要求.然而界…
MFC界面开发中,习惯了使用控件,亦或者是自绘制控件来美化界面,但操作起来繁琐,还不太美观.DirectUI的出现,对于界面开发,给了我们一个新的选择,目前很多公司使用了该技术对其产品进行了美化,效果还是可以得到肯定的. 接下来,分析一下DirectUI可以完成哪些功能,可以简化哪些操作.以及该项技术的关键点技术. 基于DirectUI技术的界面库的优势 界面完全换肤 完全焕肤问题,虽然传统的哦MFC也可以获取窗体句柄等器件对窗体样式大小进行修改定制,但是这操作起来会有很多的类以及对象,首先在内…
刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG  Xtreme ToolkitPro v15.0.1,Skin++,等界面库,以及一些网友自己写的界面库,开始对于C++软件界面美化有了一点点的心得.不敢藏私,希望和一些新手朋友们分享交流. 一.  开源C++界面库 1.RingSdk Ringsdk是CSDN上一个前辈自己写的界面库,这个界面库很轻而易举实现QQ2009的界面效果.链接见 http://blog.csdn.net/rin…
从上一篇文章中可以看出,C++的界面方向还很弱,没有任何一个界面库可以一统天下,所以才造成了界面库百家争鸣的情况. 从时间上看: 1.出来最早的是QT,1991年就有了. 2.VC++ 虽然1992年就出来了,但是一直不给力,那个时候是Borland一统天下,并且1995年Borland出了Delphi,也一直一统天下. 3.在1998年VC++ 6.0 出来之后,Delphi就完败了,从此一蹶不振. 不过以下几个问题需要想一想: 1.在VC++ 6.0 出来之前,Borland一直说完爆VC+…
转:http://www.cnblogs.com/setoutsoft/p/4996870.html 前言 在Windows平台上开发客户端产品是一个非常痛苦的过程,特别是还要用C++的时候.尽管很多语言很多方法都可以开发Windows桌面程序,目前国内流行的客户端产品都是C++开发的,比如QQ,YY语音,迅雷等.快速,稳定是我认为的应用软件开发框架最基本的要求,对于UI还有两个要求就是界面美观,配置灵活.C++语言满足了快速的要求,传统的客户端软件开发框架如MFC,WTL等满足了稳定的要求.然…
刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG  Xtreme ToolkitPro v15.0.1,Skin++,等界面库,以及一些网友自己写的界面库,开始对于C++软件界面美化有了一点点的心得.不敢藏私,希望和一些新手朋友们分享交流. 一.  开源C++界面库 1.RingSdk Ringsdk是CSDN上一个前辈自己写的界面库,这个界面库很轻而易举实现QQ2009的界面效果.链接见 http://blog.csdn.net/rin…
前言 在Windows平台上开发客户端产品是一个非常痛苦的过程,特别是还要用C++的时候.尽管很多语言很多方法都可以开发Windows桌面程序,目前国内流行的客户端产品都是C++开发的,比如QQ,YY语音,迅雷等.快速,稳定是我认为的应用软件开发框架最基本的要求,对于UI还有两个要求就是界面美观,配置灵活.C++语言满足了快速的要求,传统的客户端软件开发框架如MFC,WTL等满足了稳定的要求.然而界面美观,配置灵活是MFC,WTL这样的开发框架所不能满足的.腾讯是做客户端发家的,他们的UI经验积…
最近的工作是给开源的DUILib支持Accessibility, 一些经验记录并分享下. 微软的Accessibility其实Windows平台上一个挺重要的东西, 尽管在国内不受重视,但是如果你的软件要出口欧美,Accessibility是必须的, 不然国外正规单位(政府,学校,大公司等)是禁止采购的. 如果我们的软件用的是Winodws标准控件,一般Accessibility是系统默认内置支持的 (当然这也不是一定的,据我测试系统的Date Time Picker控件是不支持MSAA的).因…
概述 用C++做产品最痛苦的是什么?肯定是做UI. SOUI的使命就是把痛苦的UI变化成快乐的UI. 什么?UI还能快乐?脑子进水了吗? 当你看完这个系统教程的时候相信你面对UI至少不会再痛苦.你可以对于PM说,UI?Just SO SO! 闲话少说,进入正题. SOUI是什么?SOUI是启程软件(其实就是我个人了,:)开发的一个C++ DirectUI库. 虽然DirectUI不是什么新技术,但是要把UI做好,DirectUI确实是目前为止最有效的解决方案. SOUI不是一个新项目,它是基于本…
转载请注明出处:http://www.cnblogs.com/fangkm/p/3943896.html 常见的UI库的绘制逻辑 任何一个成熟的界面框架都有一个相当复杂的结构,消息循环的处理.控件的布局与绘制.焦点的管理以及资源的存取等等,Chromium里的界面框架也不例外,尤其采用的MVC设计方式更是增添了代码结构的复杂度.这里并不打算讨论Chromium的界面框架,本文感兴趣的只是Chromium的UI绘制部分,确切地说应该是引入Aura架构之后控件渲染的硬件加速支持. 在常见的Direc…
目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 博主背景 985院校毕业,至今十年C++开发工作经验,现工作地北京.曾参与开发千万级用户的客户端,及其企业应用的后台.曾为上亿级用户产品的主程,自己写的界面库作为产品的主界面引擎运行在上亿用户的计算机上.现从事业务在世界获得一流水平的成绩,并产出过业务相关的已审定授权的核心专利.曾有一次创业经历:两次陪伴公司一起成长,从未上市到上市的经历.长期TRPG…
最近的工作是给开源的DUILib支持Accessibility, 一些经验记录并分享下.   微软的Accessibility其实Windows平台上一个挺重要的东西, 尽管在国内不受重视,但是如果你的软件要出口欧美,Accessibility是必须的, 不然国外正规单位(政府,学校,大公司等)是禁止采购的.   如果我们的软件用的是Winodws标准控件,一般Accessibility是系统默认内置支持的 (当然这也不是一定的,据我测试系统的Date Time Picker控件是不支持MSAA…
在界面开发中,目前DirectUI是个热门的技术名称,因为众多的知名公司都是用DirectUI方式作出了很炫丽的界面.而对于大多数熟悉Win32控件,熟悉MFC开发的开发人员来说,我们应该做何选择? 因为传统的Win32/ MFC大家都比较了解,所以首先我们分析DirectUI,看看DirectUI能完成哪些普通Win32控件难以实现的功能,同时实现一个完整的DirectUI有那些关键点.  基于DirectUI技术的界面库的优势 以下是我们总结的一个完善的DirectUI库的优势,这些特性Wi…
在界面开发中,眼下DirectUI是个热门的技术名称,由于众多的知名公司都是用DirectUI方式作出了非常炫丽的界面.而对于大多数熟悉Win32控件,熟悉MFC开发的开发者来说,我们应该做何选择? 由于传统的Win32/ MFC大家都比較了解,所以首先我们分析DirectUI,看看DirectUI能完毕哪些普通Win32控件难以实现的功能,同一时候实现一个完整的DirectUI有那些关键点. 基于DirectUI技术的界面库的优势 下面是我们总结的一个完好的DirectUI库的优势,这些特性W…
环境:win7_64旗舰版,VS2013 发现了一个比较好用的DirectUI库——SOUI,但是写一个窗口程序不是很方便,程序初始化的地方稍显繁琐,这里稍微封装一下. 大概包含6个文件: SouiConfig.h:负责SOUI的配置,包括导入动态库,定义SOUI系统资源名称等. #ifndef _SOUI_CONFIG_ #define _SOUI_CONFIG_ #ifdef _DEBUG #define SYS_NAMED_RESOURCE _T("soui-sys-resourced.d…
前一篇文章里,分析了包括NW.js和electron这种纯JS框架在内的几种Web桌面应用开发方式,实际上还有一种最古老的方式,那就是嵌入WebView的方式. 嵌入WebView的方式和整个程序都是WEB窗口不同,仅在窗口的部分子窗口使用WebView,和原生UI或DirectUI结合的方式. 这种在C/C++程序里嵌入WebView的方式,由于没有一种公认.通用的框架或方法,基本是最困难和最原始的方式蛮干,或者自研平台,难以公开.但是也有很多效果很棒,很著名的软件.那么下面我们来细数一下这些…
打算写一个DirectUI库,在写其中底层窗口的回调构造的时候遇到一个问题. Invoker是一个模板,因为closure的关系,它必须保存一个类对象的指针,和回调函数的地址.而函数调用的时候,就可以用一个通用的接口invoke就行了. 接口的声明如下: class IOperation { public: virtual ~IOperation() {}; virtual void Invoke(IUIWnd* wnd, const EventArg& arg) = 0; }; 回调函数调用的…
目录 一.原生表格 二.效果展示 三.实现方式 1.排序列定制 2.排序交互修改 四.相关文章 原文链接:QRowTable表格控件(五)-重写表头排序.支持第三次单击恢复默认排序 一.原生表格 开发客户端程序的方式月来源多了,现在很流行的libcef.electron等等都可以作为快速开发客户端软件的方案,但是如果需要一个号的用户体验,还是离不开原生化的开发,虽然慢,但是性能好啊. 说到原生化开发,那对应的UI库相对较多,流行的就有Qt.soui.duilib.还有老掉牙的MFC和其他一些第三…
1. duilib简介 duilib是一个开源的DirectUI界面库,简洁但是功能强大.而且还是BSD的license,所以即便是在商业上,大家也可以安心使用.现在大家可以从这个网站获取到他们所有的源码:http://code.google.com/p/duilib/ 为了让我们能更简单的了解其机制,我们按照如下顺序一步一步的来对他进行观察: 工具库:用于支撑整个项目的基础 控件库:这是dui最关键的部分之一,相信也是大家最关注的部分之一,另外这里也来看看它是如何管理这些控件的 消息流转:有了…
国内首个开源 的directui 界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 .Window CE.Mobile等平台. Duilib 是一款强大的界面开发工具,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率.提供所见即所得的开发工具UIDesigner.使用DirectUI后将使得我们的设计人员彻底解 放,不会受到开发的束缚,可以充分地发挥其设计能力来设计软件界面,并参与到用户界面开发过程中. Duilib 目前支持Win…
DirectUI优点在于能够非常方便的构建高效,绚丽的,非常易于扩展的界面.作者是Bjarke Viksoe, 他的这个界面程序思想和代码都很优秀,他的代码主要表述了他的思想,尽管bug比較多,可是很合适学习. DirctUI在不断的完好,有各种各样的3d界面库出来来了,可是,是它在我懵懂时给了我编程的思想,让我踏上了编程之路,以下,我把我搜集的界面库以及重构的界面库都贴出来,大家技术交流交流. 当中下载包中有: Duilib 开发文档.帮助文档以及分析说明文档 diablo_trunk(UI)…
下面是form代码: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, CometSkin, StdCtrls, ComCtrls, ExtCtrls, Menus; const IDM_MODULE_HOME = ; IDM_MODULE_PROTEC = ; IDM_MODULE_SEARCH = ; IDM_MODULE…
Demo 第三版源码VC2005工程(附全部.h,ansi/unicode lib,dll),下载地址:http://goo.gl/c0L7Q   开源项目地址:http://code.google.com/p/duilib/ 该项目基于一个老外viksoe的DirectUI原理分析论文及示例:http://www.viksoe.dk/code/windowless1.htm   SVN checkout了项目的源码进行了试用,由于例子中程序里的List控件的使用,大多是仿Windows标准的L…
之前写了UILite库介绍: http://blog.csdn.net/zhangzq86/article/details/9093945 如今UILite库能够使用git訪问了: https://git.oschina.net/7thTool/UILite.git UILite库UI界面部分基本都是用模版实现的,所以你能看到全部代码,可是考虑到国内的环境,大家都喜欢复制成自己的私有项目. 所以UILite库在使用的时候.有些地方没有全然用模版实现.必须依赖UILite.dll才干执行. 有兴趣…
http://www.cppblog.com/weiym/archive/2012/07/03/181307.html…
从2019.5.22开始,SOUI版本号更新到2.9.0.2,后面开始准备3.0的开发,历时近3个月,现在3.0的主要工作基本完成. 为了便于大家区别2.x,3.0启用了新的代码仓库:https://github.com/soui3/soui 3.0相比2.x有以下代码的更新: 1.规范代码中使用的类名,2.x中由于历史原因有一些类名一直是Cxxx这样的以C开头的类名,新版本统一调整为S开头,比如CAutoRefPtr=>SAutoRefPtr, CSimpleWnd=>SNativeWnd等…
关于duilib的历史,我也就不多说了,能看到这篇文章的人都是有一定了解才能找到这个的. 我直接说下对这个库的基本使用吧. 我个人对一些好技术都是比较感兴趣的. 因为个人原因 喜欢接触一个好技术. 所以当我遇到这个库的时候 毅然选择用这个库写项目中的一部分了,就是treeview控件. 因为我的项目原来已经是一个成型的项目了,只是作为改进.如果将现有项目完全的改成duilib的 那么和重写没有任何区别. 所以我选择了一条看似荆棘满地的路--就是在WTL现有项目中嵌入进duilib.做一颗tree…