DirectUI界面库 取名自微软的一个窗口类名“DirectUIHWND”,意为Paint on parent dc directly。即子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Window XP系统,Media Player播放器,即时通讯工具MSN Messager。

传统的window界面,是用户窗口的层次排列,这种方式有很多局限性。目前的开发环境我们可以很快的使用win32控件构造出标准的干净的界面,但是我们同时也会立刻意识到如果我想像界面更加漂亮,更加炫一点就比较麻烦了。Windows控件提供的Custom-Draw/Ower-Draw技术局限太多,基本上没有透明等效果支持,同时控件布局方面也比较古板。

DirectUI界面库使用XML来描述界面风格,界面布局,使用脚本语言(如vbscript,javascript,lua)等来作为界面元素和程序逻辑的交互。从这方面来看,DirectUI界面库可以看成是一个迷你的微软WPF,mozilla XUL,或者Adobe的Flex,这些平台代表的应用程序的发展方向,同时也有很多相似的架构,比如多采用类似XML的方式描述定义界面,使用脚本语言(xul使用javascript,flex使用Action Script)来作为控制界面元素并和程序逻辑之间交互。DirectUI 界面库采用相似的设计,使用xml描述界面,同时使用javascript,或者vbscript来作为界面和逻辑的粘合。在控件设计方面,DirectUI界面库更多的融入了XUL,WPF,Flex等控件设计理念,并没有一味的照搬window标准控件,以期望其成为一款真正使用实用的界面库。

这种界面库设计的最大的好处在于可以很方便的构建高效,绚丽的,非常易于扩展的界面。国外如微软,国内如腾讯,百度等公司的客户端产品多采用这种方式来组织界面,从而很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等。 DirectUI 界面库旨在满足客户端界面快速开发的需要,同时融入业界前沿的皮肤技术,为用户创建更加高效,专业的界面。
其他特性:
* 使用xml配置界面控件布局
* 使用脚本(vbscript, jscript)控制控件属性,响应事件
* 使用xml描述界面风格
* XML语法简单,易于学习和掌握
* 基于Win32 API,没有framework依赖。
* 支持改变皮肤色调
* 支持大多数控件透明,包括子窗口透明
* 支持png, bitmap, gif, ico图片格式。支持带透明通道的png图片

DirectUI在微软内部使用的很广泛了,为什么不公布出来呢?估计有三点原因:

1. 最初写这套框架的人太牛了,根本没写什么注释文档,又经过一堆牛人一通乱改,估计能看懂和用好的人不多。发布出来,大家一看原来微软的代码也可以这么乱,对Vista的信心更是大跌。

2. DirectUI只是一个UI框架,没有什么数据库,网络,WebSerivice支持,更别说同MFC,ATL集合,甚至可能冲突,为了顾全MFC的地位,WTL都可以牺牲,DirectUI更别说了。

3.DirectUI是C++开发的,有了多快好省的DirectUI,谁还用.NET开发客户端程序,同微软的发展战略不一致呀。

DirectUI界面库相关推荐

  1. DirectUI界面库 学习和细节

    1. duilib简介 duilib是一个开源的DirectUI界面库,简洁但是功能强大.而且还是BSD的license,所以即便是在商业上,大家也可以安心使用. 现在大家可以从这个网站获取到他们所有 ...

  2. delphi for DirectUI界面库

    下面是form代码: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Control ...

  3. android lib 界面库,全开源C++ DirectUI 界面库SOUI 3.0更新

    全开源C++ DirectUI 界面库SOUI 3.0更新 发布时间:2019-08-04 16:10, 浏览次数:1077 , 标签: DirectUI SOUI 从2019.5.22开始,SOUI ...

  4. 提供一个免费的directui界面库(已开源)

    首先说明这个界面库是从http://www.viksoe.dk/code/windowless1.htm修改过来的 Bjarke Viksoe的这个界面程序思想和代码都非常优秀,但是他给的代码主要是表 ...

  5. 国内各个界面库比较,告诉你怎么选择界面库?

    目前网络上的界面库多彩多样.这里以个人的观点,来评价一下界面库.如果有不当的地方望批评指出. 1 Skin++(www.uipower.com) 该界面库是基于WIN32的界面库,以上海勇进公司的形式 ...

  6. linux 图形界面库,几款开源的图形界面库(GUI Libraries)

    遵循BSD许可协议的C++ GUI库,建立在Windows API之上,但仍可以通过使用WineLib在Linux/xNix上使用.也支持Pocket PC和基于Windows CE的应用程序... ...

  7. 仿迅雷播放器教程 -- C++ windows界面库对比(11)

    从上一篇文章中可以看出,C++的界面方向还很弱,没有任何一个界面库可以一统天下,所以才造成了界面库百家争鸣的情况. 从时间上看: 1.出来最早的是QT,1991年就有了. 2.VC++ 虽然1992年 ...

  8. linux c 界面库,几款开源的图形界面库(GUI Libraries)

    国外: 遵循BSD许可协议的C++ GUI库,建立在Windows API之上,但仍可以通过使用WineLib在Linux/xNix上使用.也支持Pocket PC和基于Windows CE的应用程序 ...

  9. C++开发之界面库资源推荐篇

    开发C++的界面,如果用MFC显得过于传统和呆板,如果是企业应用无所谓,要求没那么高,如果是互联网应用,就显得太单调了,不能容易的写出漂亮的界面,吸引眼球,像QQ,360这种客户端界面怎么开发出来的呢 ...

最新文章

  1. (转)NGUI研究院之三种方式监听NGUI的事件方法
  2. HDU 4418 高斯消元法求概率DP
  3. 在视图控制器之间传递数据
  4. 【前端】JavaScript
  5. 暑期社会实践服务器维护,寒假网络维护社会实践报告
  6. SpringBoot 整合 Redis 哨兵机制_01
  7. 你真的知道 Python 字符串怎么用吗?
  8. Android 解决EditText和ScrollView的滚动冲突
  9. SSH KEY免密码验证
  10. Qt中调用C语言函数库
  11. 业务流程图和数据流程图、流程图
  12. Easyui文件上传格式限制
  13. 计算机查重公式编辑器,知网查重文字公式编辑器吗
  14. 【转载】最全的脱壳,反编译_,汇编工具集合
  15. oracle 11g 解决临时表空间占满问题
  16. android人脸情绪识别器,Emotion Recognition微软人脸情绪识别器
  17. linux虚拟机之ubuntu的软件包管理(6/10)
  18. 极路由 mysql_用极路由3和移动硬盘DIY时间胶囊TimeCapsule做备份
  19. AlBaath Collegiate Programming Contest (2015) 总结
  20. 如何卸载360安全客户端

热门文章

  1. 帮上百家客户完成数字化转型后,SAS开出了四剂药方应对变革焦虑
  2. 数据中台到底如何落地实现【含架构图及代码】
  3. cad自动填写页码lisp,CAD图纸页码的自动生成-农夫也玩CAD
  4. ae合成设置快捷键_AE模板 三秒速成的抖音加关注动画模板
  5. 提薪必看 | 这5个提加薪最容易得罪人的坑,千万别踩雷
  6. Kotlin系列之集合和函数式API完全解析-上篇
  7. c++实现DLL注入的几种方式
  8. 暴风魔镜之虚拟漫游(更新中。。。)
  9. java读写json格式的文件方法详解.txt,并批量存储进redis
  10. 通过外部交换平台发送xml文件,手动加载能正常发送,但是通过代码拼xml文件发送报错找不到用户,userid is pfxx-user 16dXXXX