皮肤这东西很多人褒贬不一,有人认为程序做的好就行了,界面还是保持原生态来的稳定。的确,稳定是程序至关重要的一点,离开这点其他任何都无从谈起,但不可否认,无论是微软、苹果,还是大众用户,审美观越来越高,试想同样的QQ软件或者酷狗软件,功能稳定性相同,你是喜欢带皮肤漂亮的还是喜欢原生态的呢?因此,程序界面美化也是一个产品非常重要的一点。

做皮肤其实是项浩大的工程,从美工设计、到贴图、到程序设计,都非常的麻烦,如果不是一个非常成熟的产品且有很大的用户群体,并且公司具有相当实力,一般都不会去自己做皮肤,毕竟涉及的东西太多,一旦出现问题,那将对软件本身带来无法预计的后果。

因此我选择使用成品皮肤库在现有的软件上,在使用前为了在效果和稳定性上达到平衡,因此对目前DELPHI市场上的皮肤控件都进行了一一测试,包括稳定性测试、内存泄漏测试、贴图效果测试、使用效率、皮肤界面五大项进行了一个横向的对比,以便给正在准备使用皮肤的朋友一些参考。

这次选择的产品都是“著名”控件包,为什么加上“著名”二字,这个是有道理的,皮肤这东西用上后直接影响到程序的运行,后续维护一定要有保障,试想你用了一个皮肤控件,没有后续的保障,遇到BUG没人修正,你又没有源代码的情况下,除了换皮肤控件外没有任何办法。因此著名的DELPHI控件的标准是,有正规公司或个人运作,保持持续更新,遇到问题反馈后能得到响应的控件包。

这次参与测试的控件包包含了:AlphaControls/BusinessSkinForm/DynamicSkinForm/VCLSkin/AppFace 五个,我也测试过网上能找到的一些其他控件,但其长期不更新因此直接淘汰。在控件包方面,国外的产品比国内的强的太多,拿一款QQ界面控件包来说(这里不直接指明),控件BUG成堆,甚至连最起码的界面重绘、刷新和内存泄漏都没做好,这样的产品尽然也拿出来卖钱,而发现没人购买后,作者以免费名义发布控件,但不包含源代码后,近一年多都没更新过一次,你发现BUG提交给他,他就让你买源代码,价格2000-5000不等,这样的控件包建议大家连用都不需要用,直接PASS,以免做很多徒劳的事。

这几个控件包除了AppFace外都提供的DEMO程序,除了AppFace外都是以Delphi组件形式提供的,而AppFace是DLL方式提供。

使用便利性  稳定性  内存泄漏测试   贴图效果测试  使用效率  皮肤界面

AlphaControls         便利      一般      有泄漏         很好          高      精致

BusinessSkinForm      便利       好       无泄漏         一般          高      一般

DynamicSkinForm       便利       好       无泄漏         一般          高      一般

VCLSkin               便利      一般      有泄漏         一般        一般      一般

AppFace               便利       差       无泄漏         一般          高      一般

上表上概括了几个界面控件包的特点,下面详细介绍下这几个界面包测试时候遇到的问题。

最早测试的是AlphaControls,版本是最新的7.54 LITE EDITTION,源码版本是 7.34,说实在的,从界面效果来说,AlphaControls无疑是这几个界面包里面最好的,也是最精致的,同样提供了超过60种皮肤,而且在不断增加,贴图效果也是最好的。测试过程发现内存有轻微泄漏,主要集中在几个控件上,这个问题不大。但窗口标题后面经常出现一些像乱码的字符,这个让人很不舒服,原本以为是7.34版本的问题,结果更新到官方最新的7.54免费版后,还是有这个问题。但这些都可以忽略,最为重大的BUG是界面最小化后,恢复时经常会导致死机,注意是死机,并不是应用程序无响应,这时候除了按硬启动外没有任何办法。我原本以为是机器的问题,更换机器换使用官方DEMO,依然发现这个严重的问题。但该问题并不是每次都会出现,基本出现率在1/20样子。但这个问题不可谓不严重,导致死机是什么概念,真是让人无语。因此AlphaControls也是第一个被淘汰,且最不舍的控件包,希望以后的新版本可以解决这个问题。(看官方更新历史记录,曾经更新过这个问题,但似乎没有彻底修正)

    始终对AlphaControls的界面记忆犹新,因为皮肤控件中很少有这么精致的,因此对死机的问题又进行了详细测试(10月25日),经过最新的测试发现,导致死机是因为窗口动画效果的原因,因此将窗口HIDE、最小化、显示三个动画效果关闭后,死机情况就消失了。

第二个测试的是AppFace,这是个轻量级的皮肤控件,使用来说相当简单,加载个DLL即可,可以说不用对程序进行任何调整。提供的界面包比较少,皮肤也不怎么精致。但内存泄漏控制的很好。在测试过程,先用了一个简单的小软件加载做测试,没有什么问题,然后拿出我以前写的一个类似记事本的程序,这时候发现,加载AppFace后,软件尽然启动报错,为了确认是否是软件问题,我特意拿了一款开源程序(做脚本编辑的),结果发现一样的情况发生了。无奈只好PASS。

第三个测试的是BusinessSkinForm和DynamicSkinForm,这两个控件包可以说是孪生兄弟,因为是由一家公司开发的,DynamicSkinForm比BusinessSkinForm少了数据感知控件,不做数据库程序,没什么区别,界面皮肤包也是通用的,而且多达170多种。但说实话,精致度还不够好。我们发现它还提供了很多新颖的界面设计组件,可以设计出非常具有特色的界面。在测试中均使用厂家提供的标准DEMO,内存无泄漏情况,这点难能可贵,毕竟是这么大型的控件包。贴图效果也算过得去,但和AlphaControls比还是稍显逊色,有不小的差距。虽然提供的界面皮肤包多达170多种,但精致的还是有限,因此可以选择性的找一些皮肤发布。使用效率来说,如果窗口不使用动画效果,显示速度会比较快,但界面切换有闪烁情况。如果使用动画效果,使用效率就低了很多了,给人一种漫不经心的感觉。这两个控件在测试的两天中,发现稳定性很好,没有发送死机、无响应和自动退出这些情况。但发现窗口标题对中文支持不是很好,有中文时会显示不全,你可以自己将标题中的中文字符数计算出来,然后在标题后加这么多空格即可显示完整标题。

最后测试的是老牌VCLSkin,这套控件包使用非常方便,提供的皮肤包也多,内存泄漏控制的也不错,使用效率很高,界面虽谈不上精致,不过也还说的过去。稳定性也还不错,比起早几年使用的时候,稳定性要提高很多,但在测试过程中还是发生了两次异常报错的问题。因此看来稳定性还有提高的空间。

通过测试后,我选择了BusinessSkinForm这套控件包,虽然效率不是最高,界面不是最精致,但贵在稳定。截至文章发布前,这组控件包仍然在跑测试,没发生任何意外。

    截至10月25日修改程序使用BusinessSkinForm已经过半工程,但怎么看界面都不那么舒服,虽然多达170多套皮肤,但精致的效果好的真没几个。由于发现AlphaControls的BUG所在,并且无影响,最终决定放弃BusinessSkinForm使用AlphaControls,AlphaControls无论界面精细度、细节都很漂亮。

Delphi,Delphi皮肤控件,皮肤控件对比,皮肤控件测试,皮肤,AlphaControls, BusinessSkinForm, DynamicSkinForm, VCLSkin, AppFace

Delphi著名皮肤控件库横向对比相关推荐

  1. Delphi 7皮肤控件VCLSkin 5 60的使用

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! VCLS ...

  2. 透明皮肤控件设计系列(一):前言

    转自:http://www.138soft.com/?p=35 Delphi的皮肤控件非常多,例如DynamicSkinForm等等.以前都是习惯直接使用第三方皮肤控件,后来在开发一个内部IM聊天工具 ...

  3. 《Dotnet9》系列-开源C# Winform控件库1《HZHControls》强力推荐

    大家好,我是Dotnet9小编,一个从事dotnet开发8年+的程序员.我最近在写dotnet分享文章,希望能让更多人看到dotnet的发展,了解更多dotnet技术,帮助dotnet程序员应用dot ...

  4. Delphi 皮肤控件AlphaControls的使用

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Alph ...

  5. Delphi皮肤控件分析与QQ的皮肤变色功能

    关于界面美化方面,一直是一个脑壳疼的问题!以前一直偷懒,使用的三方控件!但是在使用了一段时间之后,都或多或少的有些问题!不是我说三方控件如 何如何的不好!只是三方控件多是庞大的一个肢体,要兼顾的用户群 ...

  6. 做了一个开源MFC窗口特效及背景皮肤控件,广泛兼容现有界面库

    BoltTestShadow v1.0 本控件实现的功能: 1)窗口开启时的先放大再缩小同时改变透明度直至完全显示,窗口关闭时先缩小再放大同时改变透明度 直至完全消失的功能(不加载皮肤也可以使用) 2 ...

  7. Delphi类似QQ皮肤控件,欢迎试用!

    实现的QQ皮肤控件的一个试用版(目前支持D7,D2007和D2010版)!欢迎下载

  8. C# Winform控件库分享,免费开源,支持中文!(附DLL及教程)

    这款控件包是基于MaterialSkin2二次开发的,可以更换想要的皮肤主题,一键转换暗色系,还拥有非常炫酷的动画,非常好看,原本的MaterialSkin2是国外团队开发的,不支持中文,所以我在里面 ...

  9. 教程:简单几步教你在Win版Delphi7中安装AlphaControls皮肤控件包.

    注:这是个简易教程. AlphaControls是一款不错的皮肤控件合集包. 它内置的诸多空间不仅能够让你的程序变得更加漂亮,同时你还可以为这些控件附加行为. ***第一步,下载AlphaContro ...

最新文章

  1. strut2配合json返回数据json对象
  2. RDTSC汇编指令详解
  3. MyISAM和InnoDB的索引在实现上的不同
  4. 计算机专业英语第五章ppt,计算机专业英语第五章.ppt
  5. 我的第一次——网站备案
  6. [转载] c语言中检查命令行参数_C中的命令行参数
  7. 深入理解 sudo 与 su 之间的区别【转】
  8. Highcharts数据可视化工具功能效果图详解
  9. iZotope系列音频软件如何卸载
  10. TZOJ 数据结构期末历年题目
  11. 控制工程实践(11)——控制系统辨识
  12. Markdown语法-表格内换行
  13. python average函数怎么用,Python Numpy MaskedArray.average()用法及代码示例
  14. 文件存储:Tape Backup 磁带备份
  15. HTML5特效(shadow、gradient、transition、transform、filter)
  16. python数据类型、编码
  17. azure创建centos_如何使用Blazor和Azure计算机视觉创建光学字符读取器
  18. 分布式系统架构之IDC机房
  19. 数据库系统概论王珊第四版 答案
  20. month(字段)、year(字段)

热门文章

  1. Python 布尔值(Booleans)
  2. 嵌入式Linux系统中nandflash的寻址方式(以k9f1208 nandflash---64M x 8 Bit NAND Flash Memory为参考说明)
  3. DFT - 对芯片测试的理解(一) 初识
  4. 请帮我用一下描述画一幅画
  5. 杂谈《流浪地球》与认知
  6. network link conditioner : mac 网络限速插件
  7. 开发者中文文档集合网址 《印记中文》
  8. 女生适合linux运维吗,女生适不适合做Linux运维工程师进入IT行业?
  9. SecureCRT乱码问题---已解决
  10. C++常量、常對象、常函數辨析