网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> VB编程 >> 文章正文
  几行代码,轻松让你的界面与众不同            【字体:
几行代码,轻松让你的界面与众不同
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-12    

前段时间公司部分以前用vb做的软件要进行美化,直接修改软件源代码,工作量比较大,而且由于代码比较多,比较老改起来恐怕会有新问题出现,于是决定用现成的换肤控件,经过对比发现有两款做的不错,其余的基本都是垃圾,问题百出。
正在装载数据……
这两款就是
skin++appface,其中skin++要优于appface.而且appface有部分控件在我的软件里支持不好,所以就决定用skin++,在和对方谈价格的时候,对方的报价蛮吓人的,8000多大元,奶奶的,抵我几个月的工资了,以前也研究过换肤技术,也算有一些了解,价格也不用定的这么高吧,坚决不买。还是自力更生决定自己写个换肤控件,而且功能也不比你差。

想法容易做起来难,中间遇到了许多困难,主要就是vb中的labelline控件没有句柄,无法修改起皮肤,这个问题整整折磨了我一个多月,不过还好最终还是靠自己的努力解决了这个问题,真是欣慰,最终作出来的效果自己感觉还不错,不用改现有的任何代码,只要添加几行代码,即可实现vb程序的完美换肤。

以下是换肤前后的效果:

 

下面将具体的使用方法说明如下:

本皮肤包含3个文件vbskin.dllskinres.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为你的皮肤资源文件的具体位置

 

运行你的程序,看看出现了什么变化?是不是所有的控件都变掉了,

:)是不是很酷啊!!!

 

测试环境:vb6+win2000.

由于此处不能上传,所以将演示程序及控件放到了资源里面,大家到那边去下载吧,地址是      http://download.csdn.net/source/239879 。

由于自己没有艺术细胞,界面设计以及配色等都比较难看,请大家原谅,并多提宝贵意见,以便作者更好地改进,有兴趣的朋友可以与我交流交流,我的邮箱shengwang2000@163.com

 


本文来源:http://blog.csdn.net/Joe_wang/archive/2007/09/01/1768283.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     如何在ado中使用connect…
     vb 贪吃蛇 单人版游戏 (…
     关于在vb中进行com组件的…
     用vb6.0编写自我升级的程…
     vb自动登陆网络站点详解…
     vb打造超酷个性化菜单(…
  • 数独算法源代码(未用递归)

  • 静态代码检查工具PC-Lint(一…

  • 数字图像空间滤波常用的函数…

  • WindowsXP 操作IO端口的Delp…

  • 在delphi7下实现省市县的三级…

  • JAVA中的字符与代码点

  • JSP测试代码连接ACCESS数据库

  • JSP修改删除添加代码ACCESS数…

  • JAVA代码编写的30条建议 (转…

  • jBPM websale代码学习: home…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David