DirectUI界面编程(零)简介

原创 2015年07月07日 21:47:34

有过Win32、MFC编程经验的朋友应该都知道,传统Windows应用中的按钮、编辑框等控件都是一个子窗口,操作系统通过窗口句柄来唯一标识该窗口。 使用Windows 标准控件创建用户界面,美化起来是相当困难的,例如我们需要使用一张位图作为按钮的背景,MFC应用需要以下几个步骤:

  • 1.继承CButton类。
  • 2.为按钮添加BS_OWNERDRAW样式。
  • 3.重写DrawItem函数,在该函数中调用绘图API进行按钮的绘制。

要对每一个控件都进行自绘工作量是相当大的,使用DirectUI结合目前市场上的界面库进行界面设计就简单多了。

DirectUI是相对于传统控件而言的一种新的界面设计技术,笔者看来DirectUI只是一种界面设计理念,即我们的按钮、编辑框等不再以窗口句柄的形式创建,而是在主窗口客户区的一个逻辑区域。

例如通过DirectUI思想创建的按钮,其实只是在主窗口中绘制的一张图片,当用户点击图片在该窗口中的区域时,我们就认为是该"按钮"的点击事件,为了使得按钮更加逼真,我们还可以在点击时绘制另一张按下状态的按钮图片。

目前基于DirectUI设计思想实现的界面库也是比较多的,而且很多都是免费或者开源的,下面介绍笔者比较喜欢的两款:

1.免费界面库SkinUI

官方网站:http://www.skinui.cn/index.htm
特点:逻辑与界面分离:支持xml文件进行窗口布局,更改界面布局文件,不影响程序功能,甚至不需重新编译。
炫彩换肤:SkinUI界面库具备一键换肤的功能,除了提供一套默认皮肤外,还可以自由配置多套系统皮肤。

官方Demo:
这里写图片描述

这里写图片描述

上面是使用SkinUI构建的360安全卫士和360压缩界面,效果还不错吧!

2.开源界面库Duilib

Duilib是一款基于DirectUI思想实现的一款开源界面库,支持xml界面布局,界面设计与业务逻辑分离,具有强大的事件处理机制。而且提供了一款所见即所得的界面编辑器UIDesigner。
这套界面源码最初托管在Google Code上。
项目地址:http://code.google.com/p/duilib/,基于众所周知的原因,目前最新的源码已经迁移到Github。
Github地址:https://github.com/duilib/duilib

下面我们来看看官方提供的Demo:
这里写图片描述

这里写图片描述

效果也还不错吧,开源的东西一向比较受到笔者的青睐,Duilib也是笔者想详细介绍的一款界面库,从下节开始我们一起学习这套界面库的使用方法。

版权声明:本文为博主原创文章,转载请注明原文地址。

相关文章推荐

重构SkinUI代码更新啦!

本次抽了一点时间简单重构了一下SkinUI 先简单概述一下SkinUI,SkinUI是基于重绘MFC控件而开发的一套简单的MFC界面库,而非现在主流的DriectUI库,因为基于Windows的标准...

【SkinUI实例】仿QQ界面设计第二十九课

上一节我们轻松的实现了QQ的登陆界面,这次,我们在实现QQ主面板的设计,先看一下现在的效果图,通过我们之前的控件的重绘,基本上实现这样的一个QQ主面板也不在画下, 说...

SkinUI入门教程(十一) SkinUI消息映射和消息处理

官方网站:http://www.skinui.cn 下载地址:http://pan.baidu.com/s/1slKsMGt 11.1 消息映射 SkinUI通过消息映射宏组成一张消息映射表,并...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

【SkinUI实例】仿QQ界面设计第三一课

文章转自:

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

DirectUI界面编程(四)界面布局详解

Duilib的界面布局使用xml文件进行描述,在Duilib v1.1版本的xml布局文件中我们可以使用以下这些标签(后续版本标签有扩充): 这些标签总的来讲可以分为三类: 窗口类,该类别中只有一个...

各种界面库介绍及比较

各种vc、c界面库介绍、比较及版本变更。
  • pengzp
  • pengzp
  • 2011年05月31日 19:45
  • 8715

SkinUI入门教程(二) SkinUI应用程序的基本结构

官方网站:http://www.skinui.cn 下载地址:http://pan.baidu.com/s/1slKsMGt SkinUI应用程序结构简单,主要由源文件、资源文件和皮肤文件组成。...

SkinUI入门教程(十) SkinUI自定义控件和常用组件

官方网站:http://www.skinui.cn 下载地址:http://pan.baidu.com/s/1slKsMGt 10.1 自定义控件 View组件只是一个矩形的空白区域,没有任何内...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DirectUI界面编程(零)简介
举报原因:
原因补充:

(最多只允许输入30个字)