理解MFC中的“资源”概念

    技术2022-05-12  3

          Visual C++ 支持十种资源:加速键、位图、光标、对话框、HTML、图标、菜单、串表、工具条和版本信息。     

          各种资源就是堆数据而已,最终都会被嵌入到EXE文件里的数据区中。需要的时候就通过函数加载到内存中使用。和数据库一样的。各种资源通过ID来唯一确定,就像数据库用关键字来确定一样。不同的资源由于类型不一样可以使用等值的ID,如同数据库里的每一个表单里的关键字值不唯一,但不同表单的关键字是允许一样的。       资源销毁,指的是让资源根据它的使用周期应该及时从内存中被释放,不要加载到内存后就不管了。否则内存越吃越大。

          你可以随时创建任何所需要的资源。只需显示ResourceView(资源视图),右击Resources(资源)文件夹,从上下文菜单中选择Insert(插入)。你会看到一个Insert Resource(插入资源)对话框,如上图所示。请注意,它显示出我们已提到过的所有十种资源。还应该看到,有三种创建资源的方式,即使用对话框上的New(新建),Import(导入)或Custom(自定义)按钮。可以在当前程序中使用来自其它工程的资源。例如,可能想在编写的每一个程序中都使用相同的公司徽标。只需右击Resources(资源)文件夹,从上下文菜单选择Import(导入)而不是Insert(插入)。你会看到Open-type(打开类型)对话框。选择包含了想要导入的资源的文件。正是由于这个原因,你会想到把你的大多数资源与程序分离。可惜的是,这种方法只对图标、光标、声波文件以及Visual Basic窗体文件有用。有几种使用来自其它工程的其它类型资源的方式,如About(关于)对话框。只需简单地为想要共享的资源创建一个分离的RC文件就行了。这在遇到像About对话框这样的资源时很有用。你只要将RC文件添加到工程中,剩下的由Visual C 来处理。另一种共享资源的方法是,将其复制到剪贴板,再在创建了正确类型的空白资源后,将其粘贴到工程中。自定义资源就是自己设计的资源。实际上,它并不适合Visual C 所提供的预定义类型。创建一个自定义资源项目很容易:只要单击Insert Resource(插入资源)对话框上的Custom(自定义)按钮。你会看到包含单个空白的New CustomResource(新建自定义资源)对话框。简单地输入自定义资源名。这时,Visual C 会产生一个新的文件夹,它含有你提供的自定义资源名和该文件夹内的一个新资源。还要提供实现这个资源所需的二进制数据。


    最新回复(0)