Win32 GDI & DirectUI

★: GDI : 图形设备接口(Graphics Device Interface),负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。
介绍 :
在Windows操作系统下,绝大多数具备图形界面的应用程序都离不开GDI,我们利用GDI所提供的众多函数就可以方便的在屏幕、打印机及其它输出设备上输出图形,文本等操作。GDI的出现使程序员无需要关心硬件设备及设备驱动,就可以将应用程序的输出转化为硬件设备上的输出,实现了程序开发者与硬件设备的隔离,大大方便了开发工作。
特点 : 1. 不允许程序直接访问物理显示硬件,通过称为“设备环境”的抽象接口间接访问显示硬件;
2. 程序需要与显示硬件(显示器、打印机等) 进行通讯时,必须首先获得与特定窗口相关联的设备环境;
3. 用户无需关心具体的物理设备类型;
4. Windows参考设备环境的数据结构完成数据的输出。


★: DirectUI : 直接在父窗口上绘图(Paint on parent dc directly),即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。
介绍 :
微软的“DirectUI”技术广泛的应用于Windows XP,Vista,Windows 7,如浏览器左侧的TaskPanel,控制面板导航界面,Media Player播放器,即时通讯工具MSN Messager等。
DirectUI好处在于可以很方便的构建高效,绚丽的,非常易于扩展的界面。能很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等。 DirectUI 旨在满足客户端界面快速开发的需要,同时融入业界前沿的皮肤技术,为用户创建更加高效,专业的界面。
特性 :
  ◆ 支持皮肤对象的布局
  ◆ 支持皮肤脚本(JavaScript)控制,可以让界面与逻辑彻底分离
  ◆ 支持bmp、png、jpg、gif、tga等图片格式
  ◆ 支持多图层Alpha混合特效
  ◆ 提供界面设计工具DirectUI Builder,支持拖拽式界面设计,让界面开发所见即所得
  ◆ 开放式开发平台,所有控件均为插件方式管理,支持用户自定义控件开发,与DirectUI平台无缝兼容
  ◆ 支持Windows平台所有的开发工具(VC++、VB6、VS Net、PowerBuilder、Delphi、C++Builder、E语言)
  ◆ 支持所有标准控件的换肤
  ◆ 支持皮肤对象的导出与导入
  ◆ 支持Windows主题导入,让标准界面皮肤的制作简单快捷
  ◆ 让客户端代码简洁明了
  ◆ 支持动画特效,滑动、淡入淡出

原文地址:https://www.cnblogs.com/xuejianhui/p/2754917.html