如何在visual basic 6中创建和使用资源(create and use resources in visual basic 6)

在VisualBasic学生学习了所有关于循环、条件语句和子例程等的知识之后,他们经常问的下一个问题是,“如何添加位图、wav文件、自定义光标或其他特殊效果?”答案之一是资源文件。当您使用VisualStudio资源文件添加文件时,它们将直接集成到Visual Basic项目中,以获得最大的执行速度和最小的打包和部署应用程序的麻烦。...

在VisualBasic学生学习了所有关于循环、条件语句和子例程等的知识之后,他们经常问的下一个问题是,“如何添加位图、wav文件、自定义光标或其他特殊效果?”答案之一是资源文件。当您使用VisualStudio资源文件添加文件时,它们将直接集成到Visual Basic项目中,以获得最大的执行速度和最小的打包和部署应用程序的麻烦。

Businessman working at computer in office

资源文件在VB 6和VB.NET中都可用,但它们的使用方式与其他系统一样,在这两个系统中有很大的不同。请记住,这不是在VB项目中使用文件的唯一方法,但它有真正的优势。例如,可以在PictureBox控件中包含位图,或使用mciSendString Win32 API。“MCI”是一个前缀,通常表示多媒体命令字符串。

在vb6中创建资源文件

在project Explorer窗口中,您可以在VB 6和VB.NET中看到项目中的资源(VB.NET中的解决方案资源管理器-它们必须使其稍微有所不同)。在VB6中,资源不是默认工具,因此新项目不会有任何资源。因此,让我们为一个项目添加一个简单的资源,并看看如何实现。

第一步是通过在“启动”对话框的“新建”选项卡上选择一个标准的EXE项目来启动VB6。现在选择菜单栏上的外接程序选项,然后选择外接程序管理器。。。这将打开外接程序管理器对话框窗口。

向下滚动列表并找到VB6资源编辑器。您可以双击它,也可以在“加载/卸载”框中打一个复选标记,将此工具添加到VB6环境中。如果您认为您将经常使用资源编辑器,那么您也可以在启动时加载框中打一个复选标记,以后就不必再执行此步骤了。单击“确定”,资源编辑器弹出。您已经准备好开始向项目添加资源了!

转到菜单栏,选择项目,然后添加新的资源文件,或者在资源编辑器中右键单击,然后从弹出的上下文菜单中选择“打开”。将打开一个窗口,提示您输入资源文件的名称和位置。默认位置可能不是您想要的位置,因此请导航到您的项目文件夹,并在“文件名”框中输入新资源文件的名称。在本文中,我将为这个文件使用名称“AboutVB.RES”。您必须在验证窗口中确认文件的创建,并且将创建“AboutVB.RES”文件并将其填充到资源编辑器中。

vb6支持

VB6支持以下功能:

  • 字符串表编辑器(“编辑字符串表…”)
  • 自定义游标-“CUR”文件(“添加游标…”)
  • 自定义图标-“ICO”文件(“添加图标…”)
  • 自定义位图-“BMP”文件(“添加位图…”)
  • 程序员定义的资源(“添加自定义资源…”)

VB6为字符串提供了一个简单的编辑器,但是您必须在其他工具中为所有其他选择创建一个文件。例如,可以使用简单的Windows Paint程序创建BMP文件。

资源文件中的每个资源都通过资源编辑器中的Id和名称标识给VB 6。要使资源对程序可用,请在资源编辑器中添加它们,然后使用Id和资源“类型”在程序中指向它们。让我们在资源文件中添加四个图标,并在程序中使用它们。

添加资源时,实际文件本身将复制到项目中。Visual Studio 6在文件夹中提供了一整套图标。。。

C:\Program Files\Microsoft Visual Studio\Common\Graphics\Icons

按照传统,我们将从元素子目录中选择希腊哲学家亚里士多德的四个“元素”——地球、水、空气和火。添加它们时,VisualStudio(101、102、103和104)会自动分配Id。

要在程序中使用图标,我们使用VB6的“加载资源”函数。有以下几种功能可供选择:

  • 位图、图标和光标的LoadResPicture(索引、格式)

使用VB预定义常量vbResBitmap作为位图,vbResIcon作为图标,vbResCursor作为光标作为“format”参数。此函数返回可直接使用的图片。LoadResData(解释如下)返回包含文件中实际位的字符串。我们将在演示图标后了解如何使用它。

  • 字符串的LoadResString(索引)
  • LoadResData(索引、格式),用于64K以下的任何内容

如前所述,此函数返回一个包含资源中实际位的字符串。以下是可用于此处格式参数的值:

1光标资源2位图资源3图标资源4菜单资源5对话框6字符串资源7字体目录资源8字体资源9加速表10用户定义的资源12组光标14组图标

因为AboutVB.RES资源文件中有四个图标,所以让我们使用LoadResPicture(索引,格式)将它们分配给VB6中CommandButton的Picture属性。

我创建了一个应用程序,其中有四个OptionButton组件,分别标记为Earth、Water、Air和Fire,以及四个单击事件——每个选项一个。然后,我添加了一个CommandButton,并将Style属性更改为“1–Graphical”。这是向CommandButton添加自定义图标所必需的。每个OptionButton的代码(以及表单加载事件-对其进行初始化)如下所示(其他OptionButton单击事件的Id和标题相应更改):

自定义资源

自定义资源的“大问题”在于,通常必须提供一种在程序代码中处理它们的方法。正如微软所说,“这通常需要使用Windows API调用。”这就是我们要做的。

我们将使用的示例是一种用一系列常量值加载数组的快速方法。请记住,资源文件包含在项目中,因此,如果需要加载的值发生更改,则必须使用更传统的方法,例如打开并读取的顺序文件。我们将使用的Windows API是CopyMemory API。CopyMemory将内存块复制到不同的内存块,而不考虑其中存储的数据类型。VB6的用户都知道这种技术是一种在程序中复制数据的超快速方法。

这个程序有点复杂,因为首先我们必须创建一个包含一系列长值的资源文件。我只是给数组赋值:

暗长(10)为长长(1)=123456长(2)=654321

... 等等

然后,可以使用VB 6“Put”语句将这些值写入名为MyLongs.longs的文件中。

最好记住,除非删除旧文件并添加新文件,否则资源文件不会更改。因此,使用这种技术,您必须更新程序以更改值。要将文件MyLongs.longs作为资源包含到程序中,请使用上述相同步骤将其添加到资源文件中,但单击“添加自定义资源…”。。。而不是添加图标。。。然后选择MyLongs.longs文件作为要添加的文件。您还必须更改资源的“类型”,方法是右键单击该资源,选择“属性”,然后将类型更改为“长”。请注意,这是MyLongs.longs文件的文件类型。

要使用已创建的资源文件创建新阵列,请首先声明Win32 CopyMemory API调用:

然后读取资源文件:

接下来,将数据从字节数组移动到长值数组。使用字节字符串长度除以4的整数值(即每长4个字节),为longs值分配一个数组:

现在,当您可以在Form Load事件中初始化数组时,这看起来可能有很多麻烦,但它确实演示了如何使用自定义资源。如果您有一大组用于初始化数组的常量,那么它的运行速度将比我能想到的任何其他方法都要快,并且您不必在应用程序中包含单独的文件来执行此操作。

  • 发表于 2021-09-11 23:54
  • 阅读 ( 226 )
  • 分类:编程

你可能感兴趣的文章

微软红心程序员!ms提供的11个免费开发工具

...的行业,有许多不同的语言和软件程序。也许你还不知道如何编码,但你想学习。 ...

  • 发布于 2021-03-22 05:32
  • 阅读 ( 402 )

如何禁用Windows7的aero性能警告?

...mputer’s performance is slow. This could be because there are not enough resources to run the Windows Aero color scheme. To improve performance, try changing the color scheme to Windows 7 Basic. Any change you make will be in effect until the next time you log on to Windows Change the color schem...

  • 发布于 2021-04-12 03:38
  • 阅读 ( 190 )

如何用microsoftword像pro一样创建索引表

...钮,这次单击“确定”按钮创建索引。 这就是我们关于如何用一致文件创建索引表的全部内容。让我们仔细看看如何定制索引样式。 在索引中创建交叉引用 Word允许我们创建不同类型的索引。这里我们有一个带有子条目的索引...

  • 发布于 2021-04-13 04:26
  • 阅读 ( 154 )

photoshop学习指南,第2部分:面板

..., if not better. Bridge tends to be a bit on the pokey side, and uses more resources than you might expect. 不过,在Photoshop中进行可视化浏览是有帮助的。当您打开面板并要求“开始浏览”时,桥接器将加载。直观的工具有助于导航到计算机上的文件...

  • 发布于 2021-04-13 05:15
  • 阅读 ( 178 )

visual basic语言(visual basic)和Visual C++(visual c++)的区别

Visual Basic与Visual C++的主要区别在于Visual Basic是面向对象的编程语言,Visual C++是集成开发环境(IDE)。 visualbasic是微软开发的一种用户友好的编程语言。在visualbasic.NET发布之前,它的最终版本是visualbasic6.0。另一方面,Visual C++是...

  • 发布于 2021-07-01 09:31
  • 阅读 ( 382 )

功能(function)和vb程序(procedure in vb)的区别

...代码返回值的过程,而过程是程序中的可执行语句块。 visualbasic(VB.NET)是在微软开发的.NET框架上实现的一种编程语言。它是一种现代的通用编程语言。它有助于开发高效的程序,而且更容易学习语言。此外,VB还提供了各种功...

  • 发布于 2021-07-01 18:59
  • 阅读 ( 279 )

建造(build)和在visual studio中重建(rebuild in visual studio)的区别

visualstudio中build和rebuild的主要区别在于,build有助于完成更改的代码文件,而rebuild删除所有以前编译过的文件并从头开始编译解决方案,而忽略以前所做的任何操作。 visualstudio是由微软开发的集成开发环境(IDE)。它提供了开...

  • 发布于 2021-07-02 00:11
  • 阅读 ( 395 )

vb语言(vb)和运动模拟(vb.net)的区别

关键区别:VB代表visualbasic。它是微软的一种高级编程语言,用于快速开发基于Windows的程序。VB.NET代表支持Visual Basic网络的技术。它是Microsoft的.NET framework语言之一。这种语言是专门为VB开发人员创建的。它属于在.NET框架上实现...

  • 发布于 2021-07-13 21:15
  • 阅读 ( 253 )

本周最受欢迎的帖子

...iciently.Learn the Basics of Design This Weekend Last weekend we looked at resources to teach you how to code, but writing your app is only half the battle. It needs to look good, too. Here are resources to help you learn the basics of design this weekend.Become a Command Line Ninja With These Time-...

  • 发布于 2021-07-25 08:16
  • 阅读 ( 166 )

visual basic术语表

...元素,那么它也不能访问其包含的任何元素,无论它们是如何声明的。 Access Protocol允许应用程序和数据库通信信息的软件和API。示例包括ODBC-开放式数据库连接(ODBC-Open DataBase Connectivity)和ADO-ActiveX数据对象(用于访问包括数...

  • 发布于 2021-09-10 22:25
  • 阅读 ( 238 )
wc70237
wc70237

0 篇文章

相关推荐