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开发客户端程序,同微软的发展战略不一致呀。

QQ界面技术(DirectUI)相关推荐

  1. QQ2009 界面技术(DirectUI)

    DirectUI界面库 取名自微软的一个窗口类名"DirectUIHWND",意为Paint on parent dc directly.即子窗口不以窗口句柄的形式创建,只是逻辑上 ...

  2. DirectUI与QQ界面

    原文地址::http://blog.csdn.net/querw/article/details/6048524 前言 今天心血来潮想跟踪一下界面编程, 发现DirectUI现在挺火的. 用逻辑窗口代 ...

  3. DirectUI 与 QQ界面

    DirectUI 与 QQ界面 前言 今天心血来潮想跟踪一下界面编程, 发现DirectUI现在挺火的. 用逻辑窗口代替实际窗口的想法真是非常棒,只是要自绘实现所有的标准控件工程太大了,况且还有想ED ...

  4. 仿qq左滑删除listview_Java基于Swing和Netty仿QQ界面聊天小项目

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 来源:b ...

  5. MFC 列表控件CListCtrl加载类似QQ界面的头像与文字

    本文主要讲述使用VS2012 MFC的CListCtrl(列表)控件加载类似于QQ界面的图片与文字数据.主要通过CListCtrl::InsertColumn.InsertItem.SetItemTe ...

  6. Vue3+ElementPlus网页端聊天|vue3.0仿微信/QQ界面实例

    vue3-webchat 基于vue3.0.5开发的仿微信|QQ界面桌面端聊天实例. 运用vue3.x全家桶技术+element-plus+v3layer+v3scroll搭建的仿微信/QQ界面网页聊 ...

  7. Swing制作高仿QQ界面包含主界面、聊天窗口、系统设置窗口|圆角界面|透明|颜色|渲染|换肤

    最近几天闲着没事,练习了一下.编写了一个模仿QQ的界面,主要是练习Swing.呵呵,基本上使用到了我博客前面讲的各种技术,在这里跟大家分享了.我们先来看看主界面:       左边的界面是用Swing ...

  8. 基于TCP,Socket编程,模仿腾讯QQ界面,使用Java开发的一款网络聊天工具。QQ_Chat

    代码下载地址 原博客地址 QQ_Chat 基于TCP,Socket编程,模仿腾讯QQ界面,使用Java开发的一款网络聊天工具. (内含报告) 工具: Eclipse.Navicat for MySQL ...

  9. Vue3 PC桌面端聊天室|vue3.0+elementPlus仿微信/QQ界面

    vue3-webchat 基于vue3.0.5开发的仿微信|QQ界面桌面端聊天实例. 运用vue3.x全家桶技术+element-plus+v3layer+v3scroll搭建的仿微信/QQ界面网页聊 ...

最新文章

  1. 那个分分钟处理10亿节点图计算的Plato,现在怎么样了?
  2. JavaScript 复制对象与Object.assign方法无法实现深复制
  3. java web面试_超实用的Java web面试题
  4. oracle一体机高水位,oracle 移动高水位:
  5. javascript对象包含哪些要素_javascript有哪几种对象?
  6. Win32+API学习笔记:创建基本的窗口控件
  7. 基于Tablestore Tunnel的数据复制实战
  8. tor the onion router下载_人教版英语知识点练习:七年级下册Unit8要点讲解,重点短语句型,语法聚焦(可下载打印版,附答案)...
  9. mysql-关联查询
  10. mysql 分页 数据重复数据_MySQL 分页数据错乱重复
  11. 计算机网络-扩展路由器网段
  12. python re span_Python的re模块与正则表达式小结
  13. 基于51单片机直流电机PWM控制器设计
  14. 计算机组成原理——总线
  15. fgo服务器中断020202,终章炸服事件 - Mooncell - 玩家自由构筑的FGO中文Wiki
  16. 运营商进行网络劫持的前生今世+劫持的危害
  17. 悠漓带你玩转C语言(函数)
  18. 出现“连接到服务器失败。错误: 0x80080005”错误的解决办法
  19. Android 手机遥控器添加模拟鼠标功能
  20. C语言控制桌面背景图

热门文章

  1. 自然语言处理中注意力机制综述
  2. java基于Springboot+vue的宠物销售商城网站 elementui
  3. 【中文技术文档的写作规范_P03】如何书写标点符号和控制文档体系
  4. 电脑缩小,电脑网页缩小了怎么恢复?电脑网页缩小的三种恢复方法
  5. VMWare 移动Linux CentOS 7虚拟机后连不上网怎么办
  6. 阵列中条带(stripe)、stripe unit
  7. day68 Django--中间件
  8. 【sj借鉴】NP-hard
  9. 数据库 约束(Constraint)、多表关系和范式
  10. 手用计算机电池,二手电脑器材中的电池问题