转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
让图片无迹可寻         ★★★★

让图片无迹可寻

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1643 更新时间:2009/4/23 18:59:53

提要:在我们的软件开发中,常常需要在界面上放置很多图片,这往往会造成可执行文件大小的大幅度增长。本文通过VB组件,将所需要的图片封装起来,从而减小可执行文件大小的目的。

 

关键字:资源、资源文件、VB组件、封装

 

       程序员在开发软件的时候,常常需要很多图片来美化程序界面,工具栏,菜单等控件都会用到大量的图片,按照常规的方法,我们一般通过VB开发环境直接导入需要的图片,如BMP或图标文件;这样做的好处是方便简单,但也带来了大幅度增长主执行文件大小的麻烦。另一种方法是通过loadpicture函数动态加载指定目录下的图片文件,但把图片文件和主程序一起发布后很容易被误删。那么,有没有什么方法来防止这些情况的发生呢?

 

       当然有。

 

       资源是指可供我们使用的存储在计算机内的数据。包括字符串资源、图标资源、游标资源、位图资源以及自定义资源(可以是任意类型的文件,如.exe、.doc等类型的文件)。资源文件则是指用来存放各种资源的文件,资源文件源文件的扩展名为.rc,他是一个文本文件,使用任何文本编辑器都可以编辑。通过资源编译器编译后的文件扩展名是.res,简单的说,这个.res文件能把所有指定的资源全部包括进来,更形象一点,就像一个压缩文件包括很多个文件夹或文件一样。

 

       VB6.0为我们提供了一个非常好用的工具——资源编辑器。该编辑器不需要我们写.rc文件而通过一种更直接更友好的可视化操作完成资源的编辑,保存后会自动生成.res文件。

 

       资源文件生成后,我们创建一个ActiveX dll组件,并把该资源文件添加进来。然后,通过相关的函数把资源导出供主程序调用。

 

       下面是整个操作过程。

1、  新建一个ActiveX DLL工程,工程名为:prjPictureRes

2、  依次打开:外接程序->外接程序管理器->VB6.0资源编辑器,双击,确定。此时,在工具栏上出现一个资源管理器的按钮。

3、  点击“VB资源编辑器”按钮,出现如下的资源编辑器窗口。

                                                 图1

4、  按图1所示,添加四个图标和一个位图,点击“保存”,将生成一个扩展名为.res的资源文件,我们将该文件命名为Myres.res。同时,工程资源管理器会出现一个“相关文档”的节点,如图2:

图2

5、  在类模块class1中,我们写如下代码将相应的资源导出。

Public Function LoadRes(resID As Integer, ImgType As Integer) As IPictureDisp

    Set LoadRes = LoadResPicture(resID, ImgType)

End Function

其中:参数resID为资源号,ImgType为图片类型(位图、图标或光标),这两个参数传入LoadResPicture()函数,下面,对LoadResPicture()简单讲解。

语法:

               LoadResPicture(index as integer, format as integer) as IpictureDisp

参数:

        index: 必需的。一个整数或字符串,它用来指定资源文件中数据的标识符 (ID) 。ID标识符为 1 的资源保留给应用程序的图标。

Format: 必需的。一个数值或常数,如下列“设置值”中所描述的,指定返回数据的格式:            

   

              常数                                           描述

              VbResBitmap                     0            位图资源

vbResIcon                         1            图标资源

vbResCursor                      2            光标资源

6、  编译成prjPictureRes.dll文件。至此,ActiveX DLL文件已经完成。

7、  接下来做一个测试工程,新建一个EXE工程,在窗体上放一个工具栏,用来显示.DLL文件中的图标;一个ImageList控件;一个图像控件(Image),用来显示.dll文件中的位图。界面如图3

                                                               3

8、  将刚才完成的prjPictureRes.dll组件通过“工程->引用”的方法加入到工程中。

9、  在窗体的Load事件中写如下代码:

Private Sub Form_Load()

    Dim objRes As prjPictureRes.Class1

    Set objRes = New prjPictureRes.Class1

[1] [2]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台