当前位置: 网学 > 编程文档 > VB > 正文

Visual Basic中使用资源的技巧

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式

    《计算机世界》1999年4月5日发表的文章《在vb应用程序中巧用DLL》,这篇文章介绍了如何在VB利用Windows API中调用DLL中的多媒体资源。这是一个非常不错的方法,不过在VB 4.0以上的版本都直接支持资源文件,在很多情况下比借助API的方法更为方便:


VB支持将资源文件*.res加入工程文件,最终编译进VB的EXE文件,而无需额外的资源DLL。
VB提供了调用这些资源的语句,如LoadResPicture,而无须使用LoadResource等API函数来获得资源。
读入的图形资源和使用LoadPicture读入的图象一样使用,省去了调用BitBlt等API函数的麻烦。这些图象资源也可以直接赋给与图象有关的属性,如Picture属性,而这是采用API方法比较难实现的。
一、如何制作资源文件

    VB所支持的资源文件必须以.res为扩展名,否则VB将无法正确识别。只要在项目文件中加入.res文件,就可以在程序中调用.res文件中的资源了。在生成EXE文件时,.res文件所包含的资源也会自动包含于其中。需要注意的是16位版本和32版本使用的资源文件是不同的,不能混用。

    制作.res文件,一种方法是使用VC++、Delphi等软件的资源编辑工具,它们可以直接编辑.res文件。不使用C++或其它工具的VB用户也可以采用另一种办法:先建立脚本文件.rc,然后用rc.exe编译成.res。VB 5.0以上的用户可以在Wizard子目录中找到rc.exe(如果使用VB4,可以在VB4的光盘上找到这个工具)。对于新手来说,手工建立.rc文件可能有些麻烦,可以考虑使用ResEdit。ResEdit这个资源编辑器并不包括在VB中,而应该从微软的站点上下载,地址是:http://premium.microsoft.com/vbasic/updates/ResEdit.asp。请注意,如果你以前没有访问过http://premium.microsoft.com/vbasic/,你需要先免费注册,注册过程中要输入VB的序列号(就是VB的About对话框中显示的那个序列号)。下载后,安装这个工具,你就可以在“外接程序管理器”找到它了。这个工具功能不是很强,但比手工编辑.rc文件简单多了。

二、在VB中调用资源

    VB为支持.res资源增加了三个函数:LoadResPicture()、LoadResString()和LoadResData()。

    LoadResPicture()函数用于调入位图、图标和光标资源,其作用非常类似LoadPicture()函数,不过LoadPicture是从磁盘文件中读取图形。LoadResPicture的格式为:

    LoadResPicture(资源ID号,资源类型)

    资源类型可为vbResBitmap、vbResIcon、vbResCursor,分别对应着位图、图标和光标三种资源。得到的图形可以直接赋与Picture属性,或在使用PaintPicture方法时使用。

    LoadResString()函数用于调入字符串资源。字符串资源对于开发多语种软件比较有用。其使用格式为:

    LoadResString(资源ID号)

    LoadResData()函数可以调入各种资源。使用格式为:

    LoadResData(资源ID号,资源类型)

    这里资源类型取值的含义如下表所示:

1

光标

2

位图

3

图标

4

菜单

5

对话框

6

字符串

7

字体目录

8

字体

9

加速键

10

用户定义资源

12

设备无关光标

14

设备无关图标

    该函数以Byte数组形式返回指定资源。VB以设计窗体快捷为其特色,故一般很少使用菜单、对话框和加速键资源。在VB中一般不使用资源文件的办法来设置EXE文件的版本信息,而应该在项目选项对话框中设置版本信息。LoadResData()函数最主要是用于用户定义资源。用户定义资源可以是GIF文件、文本文件或其他有用的数据,其使用起来相当灵活,在后面 “如何显示资源中的GIF文件”部分我们将展示这一点。

    下面,我们先给出一个完

  • 上一篇资讯: VB 捕获鼠标滚轮事件
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号