详细界面库列表见http://home.pacbell.net/atai/guitool/

如何选择界面库

  • 产品易用性
  1. 是否容易整合到现有应用程序中?是否容易在新的应用程序项目中应用?
  2. 开发人员能否及时掌握并使用
  • 产品稳定性
  1. 是否有足够多的示例演示控件库各个方面的功能特性
  2. 是否有众多的成功案例
  3. 是否一直有持续更新
  • 界面库高效性
  1. 拖拽窗口,观察是否有明显的停顿感。
    可在一个系统下,找一些知名软件比较,如QQ/MSN等。如果有明显差异
  2. 拖拽窗口,观察界面控件是否有明显闪烁 。
  3. 软件启动速度 。
    界面库产品应该对图片等资源加载做优化,以尽可能的减少界面库加载等带来的时间开销。也可以通过比较软件启动速度来比较界面库的效率。
  4. 软件色调调整时的效率 。

Skin++

商业换肤软件(www.uipower.com)

基于WIN32的界面库,上海勇进公司运作。05年发布第一个版本。去掉了窗口默认的非客户区,导致很window默认的API函数失效。而且一些关键的技术点存在BUG,比如web控件的弹出菜单有BUG。优点:两行代码换肤     缺点:有点慢

1.1 Skin++ 特性
  ◆ 换肤彻底,包括系统对话框、Windows标准控件和第三方控件如BCG;
  ◆ 支持所有Win32/Win64平台,VC/VB/Delphi/C++Builder/VS.Net/PowerBuilder;
  ◆ 使用简单,只需一行代码实现整体换肤;
  ◆ 可视设计,提供皮肤设计工具,可自行设计皮肤,所见即所得的设计开发环境;
  ◆ 色调变换,支持皮肤色调变换,每一套皮肤都拥有N种色调风格;
  ◆ 皮肤资源海量,提供皮肤转换工具,可将主流的皮肤主题转换成Skin++格式;
  ◆ 支持Unicode,提供多种编码格式;
  ◆ 界面与业务逻辑彻底分离;
  1.2 Skin++ 实现原理
  Skin++属于第二代的外挂式的界面库。
  Skin++ 提供了SkinBuilder 工具将所有控件的资源全部设计成为一个独立的文件,便于在应用程序外部独立地进行增删改操作。
  Skin++ 主要采用Hook与子类化技术来实现应用程序的自动换肤。
  1.3 Skin++换肤的大致流程
  1、应用程序启动,加载Skin++库;
  2、执行Skin++加载皮肤文件API函数;
  3、Skin++ 安装窗口过程等类型Hook,准备截获应用程序所有窗口的创建事件;
  4、Skin++ 收到窗口创建等消息,根据类名、风格等一些条件来判断是否对该窗口进行子类化;
  5、窗口子类化即可以收到该窗口所有的消息;
  6、根据不同的消息进行相应的处理。如:WM_PAINT消息,Skin++对其进行绘图的操作;
  7、绘图中需要用到图片、文字、字体等资源即根据ID、名称等条件到皮肤文件中去查找;
  8、控件运行过程中,各种界面行为的变化均可通过处理消息与API函数来进行;
  9、控件销毁时,Skin++即对其进行反子类化,将Skin++换肤前的消息过程地址重新设成当前的消息过程;
  10、控件所有的消息不再经过Skin++消息处理函数。控件执行其默认的窗口消息处理函数;
  11、应用程序退出,Skin++库被卸载,在卸载之前Skin++获得通知,Skin++便在内部执行Hook的反初始化与资源文件的清理。

DirectUI

商业界面控件(www.directui.com)

DirectUI开放式界面开发库,提供平台加插件的开发模式,可以方便的对控件进行扩展。DirectUI支持多种开发语言及平台,比如VC,VB,C#,Delphi,C++Builder,PowerBuilder等等。提供所见即所得的开发工具DirectUI Builder2010,拖拽式界面开发模式,支持JavaScript脚本控制界面,将逻辑和界面彻底分离, 支持Alpha多图层混合特效,支持多种皮肤对象布局规则,支持多种图片格式资源,例如BMP, PNG, JPG, GIF等等,支持动态换肤,与VS IDE无缝集成。

同样是上海勇进的产品。据内部人员说是从微软挖一个技术牛人来开发的,内核是借鉴了微软的DUI技术。该界面库个人认为也存在很多问题。比如,他们限制了窗口的WM_SIZE消息,当窗口大小发生变化的时候,会出现虚框,不绘制来提高效率,严重影响用户体验。

bcgcontrolbar

介绍

商业库,bcg授权了微软在VS 2008中使用BCG的部分控件及功能,但是微软并没有直接将BCG集成进VS 2008中,而是做成单独的扩展资源包,需要单独下载(下载sp1安装)。

  1. BCGControlBar专业版是MFC的一个扩展库,可用来构建类似于Microsoft® Office 2000/XP/2003/2007/2010、Microsoft Visual Studio等知名产品的高级用户界面,例如:日历、网格、编辑和甘特图等。包含了200多个精心设计、测试和具有完备文档的MFC扩展类。

  2. BCGControlBar Library .NET Edition是使用语言C++/CLI(公共语言基础结构)编写的一个工具包,其代码为百分之百的托管代码。使用本产品,需要安装Microsoft .NET Framework 2.0版或者更高版本。
  3. BCGSoft Professional Editor(BCGSoft专业版编辑程序)是一款能让您将高级编辑控制组件合并到任何基于MFC的应用程序的MFC扩展库,提供类似vc编辑器的各种特效功能,如语法加亮功能、色块、Intelli Sense、字符图片支持等。

Vc 2008 Feature Pack

2008年01月07日,MS推出了 Visual C++ Feature Pack Beta 下载。这次的Feature Pack 是专门针对VC 库的一个扩充。扩充分为两方面,一方面是MFC 的界面控件库;另一方面是对ISO C++ Standard 2003 的TR1扩充。这个增强包目前只有英文版,其他语言版本要等到VS2008的SP1了。
部署:
首先需要到微软的下载中心 下载 Visual C++ Feature Pack Beta 下载这个303M的大家伙;

而后,你需要在机器上安装了英文版的Visual Studio 2008,别的语种Feature Pack不支持,完全安装VS2008,就连SQL Sever 2005 Express 和 水晶报表的基本组件也不能少!

如果您是Vista,千万别忘了"Run as Administrator"。HotfixInstaller服务将启动,并安装Feature Pack更新。HotfixInstaller服务有可能没有原因的挂在那里长时间不动(不是Not Responding状态),只要直接在Task Manager中结束掉进程,并重新运行安装包就可以了。

从下载中心找到了 Visual C++ 2008 Sample Library ,5M,下载,安装。在/Microsoft Visual Studio 9.0/Samples/1033 下找到AllVCLanguageSamples.zip 展开,找到Feature Pack 文件夹,打开里面的工程编译。 一共有34个例子。

在界面方面,集成了BCGSoft的界面控件,现在可以利用VC2008,轻松创建VS2005,Office 2007风格的应用程序界面了。同时,增加了部分控件。

The MFC Feature Pack library supports new features in the following areas:
Menus
Toolbars
Panes
Ribbon Control
Outlook Alert
Controls
Dialog Boxes
Customization
Visualization
Special Features

在C++方面,实现了TR1,有可能在下一个C++标准C++0x中得到体现。主要增加了部分容器和正则表达式。

<array>
<functional> (TR1)
<memory> (TR1)
<random>
<regex>
<tuple>
<type_traits>
<unordered_map>
<unordered_set>
<utility> (TR1)

在应用程序向导中选择界面风格,很简单的,我们得到了一个Office 2007风格的MFC程序:

NewControls例子演示了这些控件的具体用法

各种界面库介绍及比较相关推荐

  1. DuiVision开源界面库介绍

    DuiVision是蓝蚂蚁工作室开发的DUI界面库,参考了仿PC管家程序.金山界面库.DuiEngine.DuiLib等多个基于DirectUI的界面库开发的. DirectUI技术一般是指将所有的界 ...

  2. 介绍一个界面库附防QQ2009教程

    牛人的BLOG:http://blog.csdn.net/ringphone 界面库:http://blog.csdn.net/ringphone/archive/2010/01/05/5132830 ...

  3. 强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例

    强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例 1. 引言 在这个部分补充之前马尔科夫决策和动态规划部分的代码.在以后的内容我会把相关代码都附到相关内容的后面.本部 ...

  4. 以金山界面库(openkui)为例思考和分析界面库的设计和实现——代码结构(完)

    三年前,准备将金山界面库做一个全面的剖析.后来由于种种原因,这个系列被中断而一直没有更新.时过境迁,现在在windows上从事开发的人员越来越少,关注这块的技术的朋友也很少了.本以为这系列也随着技术的 ...

  5. 以金山界面库(openkui)为例思考和分析界面库的设计和实现——问题

    随着物质生活的丰富,人们的精神生活也越来越丰富.人们闲暇的时间也相对变多,于是很多人就开始寻找打发时间的方法.其中电视便是其中一种非常重要的消遣方式.假如我们打开电视机,看到了一个电视台正在播一部我们 ...

  6. VC界面库BCGControlBar和Xtreme Toolkit详细对比评测

    概述:如今对软件界面的要求越来越高,如用Delphi.VS2008等开发底层的应用程序时,效率远不如VC++.虽然Visual Studio集成了一些MFC的类库,但是这些只是基础应用,并不能满足大多 ...

  7. 一些界面库比较以及如何选择界面库

    记得很早的时候看了一个哥们写的界面库的使用历程,当时还挺有感触的,不断地尝试,不断地被坑,最后有两条结论: 1.自己积累界面库: 2.买就买贵的.好的,并且提前根据自己需要协商好. 今天又重看关于界面 ...

  8. 1、solr包结构介绍,solrCore的安装配置,solr部署到Tomcat,多solrCore配置,配置中文分词器,界面功能介绍,Schema.xml的基本使用,数据导入

    一.下载solr,下载地址是:http://archive.apache.org/dist/lucene/solr/,选择自己想要的solr的版本,本项目使用的版本是4.10.3 二.如果想下载Luc ...

  9. tia v15 添加项目_硬技能,TIA 博途软件界面的介绍

    在前面的文章中给大家介绍了TIA 博途软件的安装包等介绍,这次小编给大家介绍一下TIA 博途软件的界面.#电工学习PLC# 你知道吗,在博途软件的自动化项目任务的创建中,我们可以使用portal视图和 ...

最新文章

  1. 电商618背后的那些技术事儿
  2. Android-使用FindBugs
  3. JAVA字符串的替换replace、replaceAll、replaceFirst的区别解析。
  4. python grpc 并发_在Python中使用gRPC的方法示例【h】
  5. 穷举 迭代 while
  6. 汽车电子嵌入式技术篇(三) -数据结构C++语言实现三部曲--异常类顶层父类
  7. cmake构建工具 初步01
  8. python中的@property(get与set作用
  9. canvas绘制验证码
  10. 16.6 假新闻识别 Fake News Detection on Social Media A Data Mining Perspective
  11. 我的大学十年——林锐
  12. 【智能工厂】智能工厂4.0:数字世界和物理世界的融合
  13. php 画布源代码,PHP中的画布详解
  14. 这才是全规格样式车牌识别,秒杀各种“不服”
  15. 创建OMF(Oracle Managed Files,Oracle管理的文件)
  16. python很全的爬虫入门教程
  17. 陈艾盐:春燕百集访谈节目第二十一集
  18. vue打包中background-image图片路径问题
  19. 算法度量方法——时间复杂度及空间复杂度
  20. 单片机光敏电阻控制蜂鸣器_光敏电阻控制蜂鸣器的开关,当值大于200时关,反之则开。...

热门文章

  1. Java监听mysql的binlog详解(mysql-binlog-connector)
  2. k8s学习笔记——ceph rbd本地手动挂载
  3. 麦克斯韦方程组在电力传动领域的应用(1)
  4. python 模块paramiko
  5. BGP路由协议(1)
  6. 云原生到底是什么?一文了解云原生四要素!
  7. python识别图片中数字_Python图像处理之图片验证码识别
  8. 计算机维护专业自我鉴定,2016届计算机系统维护专业大学生毕业自我鉴定优秀范文...
  9. 浅谈为什么倒序遍历List删除元素没有问题
  10. kakfa如何查询指定消费组lag