![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
||||||
| 几行代码,轻松让你的界面与众不同 | ||||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-9-12 ![]() |
||||||
|
前段时间公司部分以前用vb做的软件要进行美化,直接修改软件源代码,工作量比较大,而且由于代码比较多,比较老改起来恐怕会有新问题出现,于是决定用现成的换肤控件,经过对比发现有两款做的不错,其余的基本都是垃圾,问题百出。 想法容易做起来难,中间遇到了许多困难,主要就是vb中的label,line控件没有句柄,无法修改起皮肤,这个问题整整折磨了我一个多月,不过还好最终还是靠自己的努力解决了这个问题,真是欣慰,最终作出来的效果自己感觉还不错,不用改现有的任何代码,只要添加几行代码,即可实现vb程序的完美换肤。 以下是换肤前后的效果: 下面将具体的使用方法说明如下: 本皮肤包含3个文件vbskin.dll,skinres.dll,skinOcx.ocx,其中skinres为皮肤资源文件,在加载皮肤时要告诉他的位置,你只要将这三个文件拷贝到你工程的文件夹里,然后按照如下步骤操作 1.首先要用regsvr32注册skinocx控件 2.在你的工程里引用此控件,vb菜单Project/reference 3.新增一个公用模块,并将以下代码拷贝到模块里面 Public skin As New Skinner Public Sub SetForms() Dim col As New Collection Dim i Dim frm As Form For Each frm In Forms col.Add frm Next skin.SetCollection col End Sub 4. 在你的启动窗体的formload里添加如下代码 Dim strPath As String strPath = App.Path + "\SkinRes.dll" skin.BeginHook strPath SetForms 5.要让你的所有窗体都换肤,只要生成一个新窗体时执行一下SetForms过程即可 其中strPath为你的皮肤资源文件的具体位置 运行你的程序,看看出现了什么变化?是不是所有的控件都变掉了, :)是不是很酷啊!!! 由于此处不能上传,所以将演示程序及控件放到了资源里面,大家到那边去下载吧,地址是 http://download.csdn.net/source/239879 。 由于自己没有艺术细胞,界面设计以及配色等都比较难看,请大家原谅,并多提宝贵意见,以便作者更好地改进,有兴趣的朋友可以与我交流交流,我的邮箱shengwang2000@163.com。
本文来源:http://blog.csdn.net/Joe_wang/archive/2007/09/01/1768283.aspx
|
||||||
| 文章录入:admin 责任编辑:admin | ||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|