网上看见过很多Skin技术,但是以我所见提供代码的真没几个能把细节处理好的,这里我提供一个来接受批评,内存问题应该没有或者很少,如果发现请告诉我一下。
很久没有摆弄窗口的skin了,上一次做好像还是1、2年前,当时有一些地方处理的不是很好,但是勉强能用。由于升级的需要,界面的技术也得动一下略作表示。根据自己的经验加上同事的前期技术调研加上后面自己的整理,一个比较满意的方案算是出来了,在实现的基础上尽量保证了Windows的基本特性,比如左上角的系统菜单、标题栏的系统菜单,模仿了QQ2008的一个特性:窗口的按钮不在任务栏显示,但可以通过ALT+TAB进行窗口的访问。Skin的通用型上也做了最大化的兼容,active和unactive状态,12个方位贴图,且为主窗口添加的菜单扩展按钮并提供tooltip的支持。当然存在的问题还有待于慢慢发现,暂时是一个满意的方案,当然只包括顶层窗口的Skin,子窗口的将通过其他技术进行解决。题外话:有些人说xp不是有皮肤吗?在Vista、Win7上这种技术还有存在的必要嘛?我自己的认为是一种界面风格代表的可能是一个企业的理念,可能成为企业的标识之一。
界面预览:
![](http://www.cppblog.com/images/cppblog_com/wlwlxj/8028/o_newskin_login.PNG)
代码注:VS2008开发,左键双击登录窗口客户区显示主界面。代码部分修改后可使用,但请不要使用图片资源。
posted on 2009-07-09 10:54
万连文 阅读(3506)
评论(14) 编辑 收藏 引用 所属分类:
小作品