现在的软件用户和开发者越来越注重软件界面,因而在大部分的软件工程中,界面编程占据了越来越多的工作量 。开发者为了实现那些漂亮的控件或窗口以得到用户的青睐,通常会通过internet去寻找很多的控件,然后把它们一个一个的运用在当前的工程当中。如果花费的工夫足够多,而且运气足够好的话,我们可以找到那些免费的控件来帮助我们完成工作。不过一般而言,开发者都需要对找到的控件进行二次开发,使之适应当前工程的需要。

  这样做至少有以下弊病:

  1. 寻找合适的控件资料需要花费大量的时间和精力
  2. 使用的第三方控件越多,越不利于软件工程质量的管理
  3. 对于每个控件的界面实现,仍然需要不少的手工实现,所以工作量并不小
  4. 对控件的编程一旦完成,如果要更改界面风格的话,几乎又要增加一倍的工作量

  要是有一种代码量小,可实现与众不同的界面效果,又方便在不同的工程中移植的界面解决方案该多好啊!

  在这里,笔者向大家推荐一个优秀的软件界面设计方案 : 使用AUDK 来设计软件界面 。

  AUDK 全称是 AppFace  UI Development Kits 。它提供了一种将界面的美术设计和编程完全分开的解决方案。AppFace 支持 VB/VC/Delphi/BCB/.Net 。它通过自动对进程内的每个控件窗口以及边框窗口进行包装来实现重绘软件界面。整个工作是完全自动的,都由一个文件appface.dll 来完成。使用时只需执行加载和卸载 AppFace 的代码 ,极为方便。

  在现有的工程中添加 AUDK 非常简单,主要有三个步骤:

  1.制作 URF 皮肤文件

  您可以使用AUDK 中提供的所见即所得的皮肤工具 SkinTool 制作自己的 URF 档,也可以使用现成的 URF 档 ,AUDK 的安装包里提供了 9 个 URF ,您还可以到它的网站上去免费下载http://www.appface.com 。AppFace 对界面的定制是通过处理URF中的设定值来完成的,而不是开发者在工程中通过代码来完成。

  2. 在您的工程中申明 appface.dll 的输出函数

   appface.dll 是一个标准的Windows Dll 函数 ,在AUDK 中包含了 输出函数的 C 函数原型以及在各种语言下的申明范例,您将它直接Copy到自己的工程里就可以了

  3. 在程序的开始处执行 SkinStart("yoururf.urf",0,0,1,0,0)

  在程序退出前执行   SkinRemove() 
  
  整个过程就是这样,描述起来麻烦,但实现起来实现花不了一分钟 !

  使用AUDK 至少有以下好处:

  1. 只需要一个dll,节约了大量的去收集各种控件的时间;
  2. 对现有的工程只需添加几行代码,对现有的软件流程没有任何影响;
  3. 可以利用 SkinTool 设计自己别出心裁的皮肤界面,极大的增强软件的美观性;
  4. appface.dll 只有210 KB ,和传统方法而言,可以极大的减小软件体积。

  当然,还有其它好处,您可以自己总结。

  笔者在最近的项目中使用了 Appface ,在客户处得到了意料不到的好评,而开发周期却缩短了一半 。

应用 AppFace 的软件界面

皮肤工具 SkinTool 的截图

  AppFace UI Development Kits 的中文版安装包里包含有 VB,VC,Delphi,BCB,VB.Net,C#.Net 的使用示例,而且有全中文的使用说明,使用极为方便。其最新版本的下载地址为 : http://www.appface.com

算法公众号:acm-clan

MFC界面设计——AUDK相关推荐

  1. 2016-12-26 菜鸟上路(4)——VS中关于MFC界面设计

    今天的主要活动是白天的实习和晚上开始研究的课设内容. VS的用法跟VC差了不少,宝宝整体是懵逼的状态,去网上查了一下,起码搞清楚了VS里MFC对话框在哪里找_(:з」∠)_ 以及,当 出现" ...

  2. MFC—界面设计(控件自适应,添加背景图,Static背景颜色设置)

    1.控件随着窗口自适应 首先在类视图里面添加OnSize()函数,然后添加一个ChangeSize()函数,头文件中添加如下 //控件自适应变量POINT old;CRect m_rect;void ...

  3. MFC界面设计----改变界面大小使其中控件随其界面大小变化的方法

    [写在前面] 平常在编写界面程序时,使窗口中的控件随窗口大小改变而改变,只需调用WM_SIZE消息,在消息函数OnSize中进行处理,比如如下函数,就是使静态文本控件动态变化,但是这种方法计算繁琐不说 ...

  4. MFC 基于VLC的视频播放器(三)---界面设计以及对话框接受文件的拖拽

    北京时间23点11分 2018年12月20日 前面已经完成了vlc的环境的搭建,下面便开始真正的编程. 前面的界面是这样的: 理想的界面应该是这样的: 所以添加按钮.进度条和播放列表控件,并且修改好I ...

  5. c++界面设计皮肤工具

    1. 先进行软件界面设计,确定软件界面美术包装方案 2. 依据软件界面美术设计装方案制作对应的图片,图片格式请參见AUDK的帮助文档或皮肤工具SkinTool 的 Demo 3. 打开皮肤工具 Ski ...

  6. MFC课程设计 --学生成绩管理系统

    MFC课程设计 ,C++课程设计 --学生成绩管理系统 ps:因为课设完成的过程大家都不太一样,以下的代码仅供学习一下在MFC下各个控件的用法,有问题欢迎留言讨论. 实验目的 使用MFC类库编制应用程 ...

  7. 图形化界面设计软件简要介绍

    图形化界面设计软件简要介绍 [摘要]:面向使用者的系统工程设计,其目的是要准确.快速地在设计者和使用者之间传递信息和实现功能,也是优化产品性能来适应大众的操作能力,减轻使用者的认知负担.成功的系统工程 ...

  8. C++基于MFC课程设计——学习公社

    学习公社课程设计 学习公社 一.系统使用展示 二.系统主要结构 1.系统功能介绍 2.数据库表的设计 用户表 资源表 3.MySQL数据库与vs连接 三.主要源代码及分析: ==VS和MySQL的连接 ...

  9. VC++开发垃圾文件清理软件之三:程序的界面设计与实现----对话框界面

    先说下哈,有人说要源代码,源代码在博文<VC++开发垃圾文件清理软件之四:程序的界面设计与实现----按钮控件界面>的最后给出下载地址供大家下载. 对应用程序界面的设计包括两部分,一部分是 ...

最新文章

  1. SparkSQL使用之Thrift JDBC server
  2. oracle使用dbms_metadata包取得所有对象DDL语句
  3. VS2017文件操作之使用fopen函数总结
  4. 异步、多线程、任务、并行编程之一:选择合适的多线程模型
  5. windows7 删除hiberfil.sys文件的方法
  6. Lackey:一个示例工具
  7. React个人入门总结《五》
  8. 使用Levmar的L-M算法拟合曲线
  9. VC++多线程工作笔记0002---线程的运行状态
  10. 【SQL】去除表中的重复行
  11. 讨论生活中什么样东西可以何种变量描述找出生活中顺序执行事情用c语言,《C语言程序设计》实验指导书...
  12. 宏图之下服务器维护,《鸿图之下》3月24日维护更新预告
  13. 现代通信原理5.2:带通信号的(复包络)低通表示
  14. java.lang.IllegalStateException: Max number of active transactions reached:50
  15. pdf417条形码开发
  16. 动态加载下拉框select options 如何设置默认选中
  17. C4D中阿诺德默认材质-万能材质-stander surface
  18. python爬取招聘网站源码及数据分析_Python爬取招聘网站进行数据分析,福利待遇一清二楚,高薪很简单...
  19. 高性能ORM数据访问组件Deft,比dapper快20%以上
  20. VM下Centos7虚拟机无法进入图形界面并提示Started Virtualization daemon...ices..shutdown

热门文章

  1. 天津SEO优化:seo优化后期网站关键词排名下降原因
  2. 城市交通出行效率对比分析与思考
  3. 浏览器突然不能上网,DNS问题
  4. 台式计算机睡眠了怎么唤醒,分享大家几种电脑深度睡眠怎么唤醒方法
  5. 聚合数据左磊:不走寻常路 做国内最好的数据聚合平台
  6. 计算机网络连接叹号,【电脑网络连接感叹号】电脑网络连接感叹号怎么回事_电脑网络连接感叹号怎么办_亲亲宝贝网...
  7. 如何将OGV格式的视频转换成MP4格式
  8. 怎么实现html网页爱心动态,想着网页上做动态爱心怎么做
  9. 以云数据库MySQL为例深入分析对比:华为云更安全还是腾讯云更安全?
  10. 用户的登陆认证、DjangoRestFramework JWT多条件登录,导航栏实现