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

DirectUI界面库 取名自微软的一个窗口类名“DirectUIHWND”,意为Paint on parent dc directly。 即子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Window XP系统,MediaPlayer播放器,即时通讯工具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 界面库旨在满足客户端界面快速开发的需要,同时融入业界前沿的皮肤技术,为用户创建更加高效,专业的界面。

一、DuiLib界面库

下载地址:http://code.google.com/p/duilib/

论坛地址:http://www.bbsduilib.com/forum.php

入门教程:http://www.cnblogs.com/Alberl/tag/duilib%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/

简介:

国内首个开源 的directui 界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 、Window CE、Mobile等平台。
Duilib 是一款强大的界面开发工具,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。提供所见即所得的开发工具UIDesigner。使用DirectUI后将使得我们的设计人员彻底解 放,不会受到开发的束缚,可以充分地发挥其设计能力来设计软件界面,并参与到用户界面开发过程中。 Duilib 目前支持Windows 32 、Window CE、Mobile等平台,使用C++开发,遵循BSD协议,可以免费用于商业项目 。
DirectUI界面库 取名自微软的一个窗口类名“DirectUIHWND”,意为Paint on parent dc directly。 即子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。
DirectUI界面库使用XML来描述界面风格,界面布局,可 以很方便的构建高效,绚丽的,非常易于扩展的界面。从而很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等。 [1]
Duilib界面库是一款由杭州月牙儿 网络技术有限公司开发的界面开发库,她可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。
Duilib界面库的出现解决了使用传统MFC界面库开发软件不美观、界面细节处理不好、使用硬编码、开发效率低下、生成程序体积大等问题。而且传统MFC界面美化库大都使用HOOK等对系统影响比较大的技术,可能会导致系统不稳定或者引发其他错误。而Duilib界面库完全基于GDI在窗口上自绘,无其他依赖,未使用特殊或危险的 系统调用,能够很好的解决传统MFC界面的一系列问题。
Duilib界面库完全兼容ActiveX控件(如常见的IE控件和Flash),也可以和MFC等界面库配合使用,用户完全可以不用担心切换到Duilib界面库上面会带来额外的成本或者Duilib界面库会出现功能不够用等情况。
Duilib界面库可广泛用于互联网客户端、工具软件客户端、管理系统客户端、多媒体客户端(如KTV、触摸屏)、车载电脑系统、gps系统和手机客户端软件等。
Duilib界面库可以广泛运行在windows98、Windows2000、WindowsXP、Windows2003、Windows Vista、Windows7、Windows8、WindowsCE5、WindowsCE6、Windows Mobile6等平台上,目前支持的开发工具包括vc6、vc2003、vc2005、vc2008、vc2010。
Duilib界面库基于viksoe的DirectUI项目 [2] ,并且以BSD协议开源。

特点:

XML和脚本构造界面: 使用xml配置界面控件布局 使用xml描述界面风格 XML语法简单,易于学习 和掌握 支持改变皮肤色调 支持大多数控件透明,包括子窗口透明 支持png, bitmap, gif, ico图片格式。支持带透明通道的png 图片
这里是使用Duilib做的一个 demo [1]
1、界面与业务逻辑分离
2、 使用XML配置界面
3、 界面布局方式灵活多样
4、 内置常用的控件
5、 支持 自定义控件
6、强大的控件组合能力,复杂功能可通过简单控件组合完成
7、强大的事件处理机制
8、基于GDI和脏矩形的高效绘制技术
9、支持多种资源方式,支持多种 图片格式
10、支持alpha混合,支持窗口透明
11、强大的图片绘制描述方式
12、类html字符串绘制技术
13、支持动态变换色调
14、支持动态切换资源位置方式换肤
15、支持ansi和unicode,支持多国家语言
16、支持 插件系统
17、内存占用小
18、无第三方库依赖
19、提供可见即所得的ui编辑器
20、丰富易上手的demo例子
21、可以非常容易和mfc、wtl结合使用

二、炫彩界面库

官网地址:http://www.xcgui.com

官网做得还不错,2012年12月刚刚开源,文档比较全,版本迭代也快,有企业在支持,比起duilib,更专业一点。

版本更新记录
  • [2013-01-18] 炫彩界面库v1.5.2
  • [2012-12-25] 炫彩界面库v1.5
  • [2012-12-08] 炫彩界面库v1.4.9
  • [2012-10-25] 炫彩界面库v1.4.8
  • [2012-09-17] 炫彩界面库v1.4.7
  • [2012-07-22] 炫彩界面库v1.4.6
  • [2012-07-01] 炫彩界面库v1.4.5
  • [2012-06-04]  炫彩界面库v1.4.4
  • [2012-04-09] 炫彩界面库v1.4.3
  • [2012-03-22]  炫彩界面库v1.4.2
  • [2012-03-02] 炫彩界面库v1.4.1
  • 更多...
炫彩界面库不仅是界面库,它是软件界面开发框架,让用户开发桌面软件变的简单高效,它功能丰富, 小巧(库文件大小仅五百多KB),安全(所有界面元素无句柄),Unicode字符编码,完善的帮助文档;

并且提供了UI设计器,支持XML布局,CSS样式表,XML资源;该库采用C语言开发,速度更快,支持多种开发语言调用,例如C#,易语言; 不需要第三方库的支持,不需要MFC,ATL,和WINDOWS标准控件;

采用DirectUI设计思想,在窗口内无子窗口,窗口相当于容器,界面元素都是逻辑上的区域,没有句柄. 灵活易扩展,即支持C语言风格开发,同时也支持C++语言开发,用户可以对元素句柄进行包装扩展,支持用户自绘,支持各种格式图片

 

小巧高效

采用C语言开发,速度更快,库文件大小仅五百多KB,不需要第三方库的支持,不需要MFC,ATL,和WINDOWS标准控件.

安全

采用DirectUI设计思想,所有界面元素无句柄,防止他人嗅探,获取重要数据.

UI设计器

提供了UI设计器,支持XML布局,CSS样式表,XML资源,动态换肤,布局调整.

DirectUI

采用DirectUI设计思想,在窗口内无子窗口,窗口相当于容器,界面元素都是逻辑上的区域,没有句柄.

窗口特效

支持各种格式图片(bmp,gif,jpg,png,ico),支持自适应贴图,元素透明,窗口透明,窗口阴影边框,异型窗口,窗口绘制完成后特效合成.

支持多种开发语言

支持C,C++,C#,易语言,C++ Builder等,所有能够调用DLL的开发语言.

帮助文档

完善的帮助文档,同步升级,帮你解决开发问题.

C++开发之界面库资源推荐篇相关推荐

  1. 软件开发:界面库详细对比,开发工具的选择指导

    说起界面,那真是百家争鸣.C++里面其他的都好说,像什么XML解析顶多也就十几个著名开源库而已.Office 操作的开源库仅有几个,更可怜的是有个很著名的Office开源库只有JAVA和C#版本,但是 ...

  2. C#/.NET Winform 界面库UI推荐

    以下是C#-CSkin界面库的官方板块: http://bbs.cskin.net/thread-622-1-1.html 几款开源的Windows界面库 https://blog.csdn.net/ ...

  3. anki卡片浏览器_Anki怎么用|小白anki安装使用指南+记忆库资源推荐

    Anki 可以用来记忆任何东西:英语单词.小语种,法律,医学,文学,乐谱...... Anki 支持全平台同步运行,你可以在 Windows, Mac, Linux, 安卓.苹果 ios 以及网页浏览 ...

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

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

  5. python开发windows界面_pyui4win

    软件简介 pyui4win是一个开源的采用自绘技术的界面库.支持C和python.用它可以很容易实现QQ和360安全卫士这样的绚丽界面.而且,pyui4win有所见即所得界面设计器,让C开发人员和py ...

  6. flutter 国际化_Flutter 开发实战资源推荐

    开工第一天,来点轻松的资源推荐. 这是一篇实战类资源推荐,其实Flutter的入门资料官方已经做得很好了,如果你是零基础,还是建议先啃一遍官方的教程,然后再看以下实战资源,相信在你看官方课程中涉及到的 ...

  7. Flutter 开发实战资源推荐

    这是一篇实战类资源推荐,其实Flutter的入门资料官方已经做得很好了,如果你是零基础,还是建议先啃一遍官方的教程,然后再看以下实战资源,相信在你看官方课程中涉及到的一些疑问,下面的资源会有一些刚好能 ...

  8. python必备源代码-资源推荐|347个Python开发经典资源推荐(42类)

    原标题:资源推荐|347个Python开发经典资源推荐(42类) 今天的文章是Python开发资源,总计42个大类,一共347项.(Python的东西实在太多了,一个人整理简直是自寻死路,大家如果有比 ...

  9. 以金山界面库(openkui)为例思考和分析界面库的设计和实现——资源读取模块分析

    按照软件的执行流程,我们首先遇到<以金山界面库(openkui)为例思考和分析界面库的设计和实现--问题>中提出的最后一个问题:界面描述文件的放置位置.我们曾提出一种方案:将界面描述文件打 ...

最新文章

  1. 转:strcat与strcpy与strcmp与strlen
  2. MyBatis基础入门《九》ResultMap自动匹配
  3. 小学计算机课的活动设计方案,小学信息技术兴趣小组活动策划书三篇
  4. kotlin 两个数字相加_Kotlin程序交换两个数字
  5. CentOS 7 怎样自动连接网络
  6. 上海交通大学计算机应用作业,上海交通大学继续教育学院计算机应用基础(二)第六次作业计算机安全多媒体_1...
  7. Java动态代理二——CGLIB动态代理应用
  8. pxe无盘服务器教程,[教程]Synology+PXE挂载iSCSI网络无盘启动Win7(08.04更新)
  9. 360保存html,360极速浏览器怎么保存网页为图片?
  10. nginx 的安装、配置和使用(全)
  11. 统计文件中元音字母的数量
  12. pytorch 基本数学运算
  13. android studio 扣费白屏,详解一次Vue低版本安卓白屏问题的解决过程
  14. WiFi共享大师后无法上网
  15. 游戏攻略资料收集,制作技巧经验分享-游戏编辑2
  16. 软件设计——云原生12要素
  17. 腾讯云tcp认证资料考点包含哪些知识?
  18. 从等待顾客注册会员到寻找潜在会员,会员管理系统是如何治愈“守株待兔”
  19. EAS BOS 单据打开新增界面设置字段默认值
  20. 日本机器人全球领先来自这三大顶尖技术

热门文章

  1. 文档处理 - PowerPoint演示文稿
  2. java 反射 getclass_Java反射中的getClass()方法
  3. 扫地机器人不取出水箱可以吗_扫地机器人值不值得买?优缺点全面分析。
  4. 外贸开发信退信严重,找EmailCamel解决!
  5. Handlebars自定义的写法
  6. 仰望星空,结果南辕北辙
  7. 免环境搭建用QT开发嵌入式Linux工业平板电脑界面
  8. 昌墨振谈饮食对健康的影响:​不同人群食补有讲究
  9. 项目总监/经理最重要的几项技能
  10. 如何理解 Spring Boot 中的 Starters?