致力于图形处理和移动开发。
分类: C#/.net
2014-04-25 15:19:43
选择VC界面库或皮肤库还是应当具体问题具体分析。比如:
1、如果你需要开发支持换肤功能的软件(类似千千静听、MSN、QQ等),可以使用DirectUI或DSkinlite,这类产品比较适合开发界面简单,但美观性要求高的应用,支持在配置文件中定义控件位置;
2、如果你想将软件做成类似Office、Outlook的效果,可以使用或,这类控件是基于Windows窗口的,适合开发复杂大型的应用。
这个产品其实就不用多作介绍了,一个多次获奖的VC界面库,做过VC界面开发的应该都知道。Xtreme Toolkit功能很强大,当然它是收费的。自9.6版开始,国内就有很多人使用,网上教程也一搜一大把。
DirectUI的技术说白了就是XML配置文件+图片+JavaScript控制界面。这点与网页css+图片+JavaScript十分相似,就是如开发网页一般开发桌面程序界面,开发效率当然大大的提高。DirectUI通过自绘、贴图的方式来实现的各种控件,一般都是通过XML配置文件来进行界面的描述,修改资源和配置文件可以方便的改变界面的风格,并且可以做出来更好看的界面,现在流行的客户端应用都是基于DirectUI技术实现的,例如QQ、360、迅雷等等。
功能齐全的VC界面库,和Xtreme Toolkit一样,被广大VC界面开发者所熟知,关于这两款产品的孰优孰劣的争论也一直没有停息过。有人说BCGControlBar更容易上手,而且可以高度自定义,又与微软有多年的合作关系,所以使用它开发的应用UI可以达到和Office、Outlook以假乱真的程度。又有人说Xtreme Toolkit功能比BCGControlBar强大一些,而且更新速度更快。各种说法都有,其实这两款产品都很不错,有兴趣的朋友可以都尝试一下。 PS:文章是10年的了,但还是有很好的参考价值。
SkinMagic的特点是提供一个可视化的编辑工具SkinMagicBuilder,应用它可以设计软件启动界面、软件框架、界面中各种控件、菜单、滚动条、状态栏等,还不需要编写代码。设计好的界面可以作为皮肤文件保存,通过VC中调用SkinMagic提供的编程接口将皮肤文件导入应用程序中,并非常方便地对界面上各种控件进行控制。由于界面的设计工作和程序的编写工作分离,可以由美术功底好的人员专门设计界面,并且当界面改变时,如果功能没有变化就不需要改写代码,因此程序模块化程度高,可移植性好,大大减少了程序开发和维护的工作量。
但是,SkinMagic提供的界面风格相当有限。
DSkinLite是一款轻量级的C++皮肤库,使用XML文件根据规则来管理GDI资源如颜色、字体、图片,并描述界面构成,最大程度的将界面和程序逻辑分离,同时为软件皮肤更换,换色等提供基础支持。DSkinLite将界面构成元素抽象为线条元素、矩形元素、图片元素、文本元素,并提供相应规则来使用这些元素"组合" 界面。和其他VC界面库相比,DSkinLite很让程序员省心,入门也非常简单。
著名的国外皮肤控件,比DirectUI、SkinMagic等要好很多,包括实现aero效果(非vista、win7系统也可实现)。国外用SkinCrafter的很多,但是它有个致命的问题是皮肤文件很大,皮肤资源加载有些慢。——不过,其皮肤效果确实很酷。