可以这么说现在的人越来越妖精了,本来软件吗,要的是简单稳定实用,但是看现在的趋势是越来越多人注重界面的美化和和效果。比如IM类软件,QQ,飞信还有土的掉渣的MSN等,前两天看了一下YahooUI,觉得不错,ICQ的界面也可以。Windows上界面技术基本都是DirectUI或者近似于DirectUI,而迅雷7使用了WPF做界面,很漂亮,虽然有很多bug,不过可以理解。WPF估计是未来donet平台的主流开发技术了。这样做就给用户惯了个坏毛病,如果你的软件不够漂亮,就会引来很多非议或者干脆扔掉不用。呵呵, 没有办法。其实我的工作本身和界面美化没什么关系,纯粹出于兴趣。研究过很多流行的库,不过问题是开源的很难作出好的效果,效果不错的却不开源,当然我不是说不能用纯win32或者MFC做出牛X的界面哈,只是一种权衡而已,国内现在有很多公司比如UIPower,UIEasy还有直接叫DirectUI的公司,都是收费的,而且价格不是一般的贵。记得在东软的时候,项目中买了一个Skin++的授权,MD7千一个,呵呵。其实Skin++先前版本的原理很简单,采用的是子类化和钩子而已,当然这也是Win32窗体系列美化的经典做法了。如果哪位哥们有兴趣可以联系我,我们也开发个,而且免费。呵呵。
Ok,废话少说,回到正题上来吧,说说Juce,这是个很不错的库,源码非常简练,而且注释完备,很容易看懂,整个体系就是DirectUI的思路,我一直觉得这东西就是一个精简版的Qt。我不得不说Jules大哥是个牛人也是好人,有什么问题一封邮件,他立马回你,而且Juce社区国外用户很活跃,Juce库也不断地完善的和强大。听Jules大哥说,会加入Skin的功能,Great!
来看第一个例子,我们给他取个名字叫“SuperJucer”吧,该例子的功能就是利用png文件创建一个不规则窗口,估计大家对这个很熟悉了,想想QQ宠物哈,一个小企鹅笨笨的在你的工具栏走来走去,是不是很有意思。而该类就是一个超人叔叔,出现在你的桌面上,没有windows土里吧唧的边框和XXX按钮,哈哈!
先看图片哈:这就是我们要制作的窗口,超人叔叔。
第二个图片:景甜妹妹
Ok,素材准备好了,我们就用这两幅图片做个异形窗口哈:
第一步: 在VS2008中创建一个Win32的空项目,取名SuperJucer,创建好之后,该工程下面只有三个空的文件夹:header,source,resource. 要的就是干净。
第二步: 添加两个文件SuperJucer.