好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

VB中使用资源的技巧.doc

7页
  • 卖家[上传人]:ss****gk
  • 文档编号:234206365
  • 上传时间:2022-01-03
  • 文档格式:DOC
  • 文档大小:126.50KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • VB中使用资源的技巧,将图片、文本等东西写进RES/(不是DLL),再直 接调用默认分类2010-01-30 20:16:46阅读350评论0 字号:大中小 订阅Visual Basic中使用资源的技巧,将图片、文本等东西写进RES/(不是DLL),再 直接调用读入的图形资源和使用LoadPicture读入的图象一样使用,省去了 调用BitBlt等API函数的麻烦这些图彖资源也可以直接赋给与图彖有关的属 性,如Picture屈性,而这是采用API方法比较难实现的一、如何制作资源文件VB所支持的资源文件必须以.res为扩展名,否则VB将无法正确识别 只要在项目文件中加入.res文件,就可以在程序中调用.res文件中的资源了 在生成EXE文件时,・rcs文件所包含的资源也会自动包含于其中需要注意的 是16位版本和32版本使用的资源文件是不同的,不能混用制作.res文件,一种方法是使用VC++、Delphi等软件的资源编辑工具, 它们可以直接编辑.res文件不使用C++或其它工具的VB用户也可以采用另一 种办法:先建立脚本文件・rc,然后用rc. exo编译成.resVB 5.0以上的用户 可以在Wizard子目录中找到rc. exe (如果使用VB4,可以在VB4的光盘上找到 这个工具)。

      对于新手来说,手工建立・rc文件可能有些麻烦,可以考虑使用 ResEdito ResEdit这个资源编辑器并不包括在VB中,而应该从微软的站点上下 载,地址是:http://premium, microsoft. com/vbasic/updates/ResEdit. asp 请注意,如果你以前没有访问过http://premium, microsoft. com/vbasic/,你 需要先免费注册,注册过程中要输入VB的序列号(就是VB的About对话框中显 示的那个序列号)下载后,安装这个工具,你就可以在“外接程序管理器”找 到它了这个工具功能不是很强,但比手工编辑文件简单多了二、在VB中调用资源VB为支持.res资源增加了三个函数:LoadResPicture()、 LoadResString()和 LoadResDataOLoadResPicture()函数用于调入位图、图标和光标资源,其作用非常类 似LoadPicture ()函数,不过LoadPicture是从磁盘文件中读取图形 LoadResPicture 的格式为:LoadResPicture(资源TD号,资源类型)资源类型可为vbResBitmapx vbResIcon> vbResCursor,分别对应着位 图、图标和光标三种资源。

      得到的图形可以直接赋与Picture属性,或在使用 PaintPicture方法时使用LoadResStringO函数用于调入字符串资源字符串资源对于开发多语种 软件比较有用其使用格式为:LoadResString(资源 ID 号)LoadRcsDataO函数可以调入各种资源使用格式为:LoadResData(资源ID号,资源类型)这里资源类型取值的含义如下表所示:光标2位图3图标菜单5 对话框6字符串字体目录8字体9加速键用户定义资源12设备无关光标14设备无关图标该函数以Byte数组形式返回指定资源VB以设计窗体快捷为其特色, 故一般很少使用菜单、对话框和加速键资源在VB中一般不使用资源文件的办 法来设置EXE文件的版本信息,而应该在项目选项对话框中设置版本信息 LoadRcsDataO函数最主要是用于用户定义资源用户定义资源可以是GIF文件、 文本文件或其他有用的数据,其使用起来相当灵活,在后面“如何显示资源中 的|GIF文件”部分我们将展示这一点下面,我们先给出一个完整的示例来展现如何进行资源文件的编程首先,建立如下资源描述文件(*・rc),然后编译成RES文件,并加入项 目文件。

      该资源文件中包括八个图标201 ICON "MOONOl. ICO"202 ICON "M00N02. ICO"203 ICON 〃M00N03・ IC0〃204 ICON,,M00N04. IC0〃205 ICON “M00N05. 1CO〃206 ICON,zM00N06. ICO"207 ICON "M00N07. ICO"208 ICON 〃MOONO& IC0〃然后在窗体上加上一个Timer和Image,设置Timer的Enable属性为 True, Interval属性为1000c在代码输入窗口加入如下的程序:Option Explicit的图标Dim Which As Integer '动画显示Private Sub FormLoad()Which 二 201End SubPrivate Sub TimerlTimer()Tmagel. Picture = LoadResPicture(Which, vbResTcon)If Which 二 208 ThenWhich = 201循环显示ElseWhich 二 Which + 1End IfEnd Sub End Sub该示例运行吋连续显示图标资源以实现动画效果。

      三、如何显示资源中的〔GIF文件VB 5. 0的Picture Box可以显示GIF和JPEG图象,但是由于GIF资源 不是Windows的标准资源,所以不能使用LoadResPicture的办法来调入GTF图 彖如果要解决这个问题,需要先将GIF资源写到一个临时文件,然后用 LoadPicture显示文件,最后再删除掉磁盘上的临时文件我们假定资源文件如 下:102 GTF about, gi f你可以用这样的语句来实现:SaveFileFromRes (102, 〃GIF〃,Z,C:/about. gif〃)Picture 1. picture = LoadPicture(,ZC:/about・gif〃)Kill ,ZC:/about・ gif"这里的C:/about, gif只是一个例子,在实际编程可以用Windows API的 GctTcmpF订cNamc来生成临时文件名(但GctTcmpF订cManic生成的临时文件扩展 名为.tmp,需改为.gif) o这里的SaveFileFromRes函数来完成写临时文件的工 作,具体代码如下:Public Function SaveFileFromRes(vntResourceTD As Variant, sType As String, sFileNamc As String) As Boolcan函数:SaveFi leFromRes 从 http://AskPro. yeah, net 下载目的:从资源文件调入自定义资源,然后写入磁盘上的文件’'返回值:如果没有错误为True,否则为False J'注意:sType必须同资源文件的定义相同(包括大小写)!’'假定sFilcnamc是合法的,可写的'Dim bytTmage() As Byte ' Always store binary data in byte arrays!Dim iFileNum As Integer 'Free File HandleOn Error GoTo SaveFi1eFromRes_ErrSavcFilcFromRcs 二 True'Load Binary Data from Resource filebytTmage = LoadResData(vntResourceTD, sType)'Get Free File HandleiFileNum 二 FreeFileJ Open the file emd save the dataOpen sFileName For Binary As iFileNumPut #iFileNum, , bytImageClose iFileNumExit FunctionSaveFi1cFromRcs_Err:SaveFileFromRes 二 False: Exit FunctionEnd Function这个方法不但适用于GIF文件,也适用于其它类型的文件。

      Visual Basic +使用资源的技巧,将图片、文本等东西写进RES/(不是DLL),再 直接调用。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.