明辉站/网站教程/内容

资源文件说明:使用资源(续)

网站教程2024-02-13 阅读
[摘要]#@Resource Includes@对话框可以使用@Resource Includes@对话框修改环境的正常工作安排,此安排将所有资源存储在项目的 .rc 文件中,将所有symbols存储在 Resource.h 中。若要打开@Resource Includes@对话框,请在Resource ...
 
#@Resource Includes@对话框
可以使用@Resource Includes@对话框修改环境的正常工作安排,此安排将所有资源存储在项目的 .rc 文件中,将所有symbols存储在 Resource.h 中。
若要打开@Resource Includes@对话框,请在Resource View中右击 .rc 文件,然后从快捷菜单中选择@Resource Includes@。
符号头文件
允许更改存储资源文件的符号定义的头文件的名称。有关更多信息,请参阅Changing the Names of Symbol Header Files。
只读符号指令
使您可以包含头文件,而头文件包含不应在编辑会话期间修改的符号。 例如,可以包含由若干项目共享的符号文件。 也可以包含 MFC .h 文件。有关更多信息,请参阅Including Shared (Read-Only) or Calculated Symbols。
编译时指令
允许包含利用主资源文件中的资源单独创建和编辑的资源文件,允许包含编译时指令(如按条件包含资源的那些指令)或允许包含自定义格式的资源。 还可使用@Compile-time directives@框包含标准的 MFC 资源文件。有关更多信息,请参阅Including Resources at Compile Time。
注意 这些文本框中的项出现在分别以 TEXTINCLUDE 1、TEXTINCLUDE 2 和 TEXTINCLUDE 3 标记的 .rc 文件中。有关更多信息,请参阅TN035: Using Multiple Resource Files and Header Files with Visual C++。
一旦使用@Resource Includes@对话框对资源文件进行了更改,则需要关闭 .rc 文件,然后重新打开它以使更改生效。有关更多信息,请参阅Including Resources at Compile Time。
请参见
Specifying Include Directories for Resources Symbols: Resource Identifiers (IDs) Resource Files Resource Editors

#指定资源的包含目录
指定所有项目的包含目录
1.在@Tools@菜单上单击@Options@。
2.在@Options@对话框中展开@Projects@文件夹,然后单击@VC++ Directories@页。
3.在@Show directories for:@下拉列表中选择@Include files@。
4.使用@Options@对话框中的按钮添加附加的包含路径。
这是影响所有项目的全局设置。 另外,在 Visual Studio 中 .rc 文件的相对包含路径必须基于此 .rc 文件当前所在的目录。
指定特定项目的包含目录
1.右击解决方案资源管理器中的项目并从快捷菜单中选择@Properties@。
2.在@<Project> Property Pages@对话框中单击@Resources@页,然后在@Additional include directories@属性中指定附加的包含目录。
请参见
Resource Includes Dialog Box TN035: Using Multiple Resource Files and Header Files with Visual C++ Symbols: Resource Identifiers (IDs) Resource Files Resource Editors

#复制资源
可以将资源从一个文件复制到另一个文件而不更改它们,或者可以change the language or condition of a resource while copying it。
可以轻松地从现有资源或可执行文件将资源复制到当前资源文件。 若要做到这一点,请同时打开包含资源的两个文件,并将项从一个文件拖动到另一个文件或者在两个文件之间进行复制和粘贴。 该方法对资源脚本 (.rc) 文件和资源模板 (.rct) 文件以及可执行 (.exe) 文件都有效。
注意 Visual C++ 包含可在自己的应用程序中使用的示例资源文件。有关更多信息,请参阅CLIPART: Common Resources。
可以在outside of the project打开的 .rc 文件之间使用拖放方法。
使用拖放方法在文件之间复制资源
1.同时打开两个独立的资源文件(有关更多信息,请参阅Viewing Resources in an .rc File Outside of a Project)。例如,打开 Source1.rc 和 Source2.rc。
2.在第一个 .rc 文件中单击要复制的资源。 例如,在 Source1.rc 中单击 IDD_DIALOG1。
3.按住 CTRL 键并将资源拖动到第二个 .rc 文件。 例如,将 IDD_DIALOG1 从 Source1.rc 拖动到 Source2.rc。
注意 不按住 CTRL 键拖动资源将移动资源而非复制它。
使用复制和粘贴复制资源
1.同时打开两个独立的资源文件(有关更多信息,请参阅Viewing Resources in an .rc File Outside of a Project)。例如,Source1.rc 和 Source2.rc。
2.在要复制资源的源文件(如 Source1.rc)中,右击资源并从快捷菜单中选择@Copy@。
3.右击要粘贴资源到其中的资源文件(如 Source2.rc)。 从快捷菜单中选择@Paste@。
注意 无法在项目中的资源文件(@Resource View@)及独立的 .rc 文件(在文档窗口中打开的文件)之间进行拖放、复制、剪切或粘贴。 在该产品的早期版本中可以做到这一点。
注意 若要避免与现有文件中的符号名或值冲突,Visual C++ 可以在将传输的资源的符号值或符号名和值复制到新文件时更改它。
请参见
Viewing Resources In an .rc File Resource Files Resource Editors

#复制时更改资源的语言或条件
当在资源中复制时,可以更改资源的语言属性、条件属性或两者。
•资源的语言仅标识该资源的语言。 FindResource使用这种方法帮助识别正在寻找的资源。 (然而,对于每种语言,资源都可能具有与文本无关的差异,如快捷键可能只在日本键盘上起作用或者某个位图仅适用于中文本地化版本等。)
•资源的条件是定义的符号,它标识该资源的此特定副本的使用条件。
资源的语言和条件显示在圆括号中,位于工作区窗口中资源名的后面。 在本例中,名为 IDD_AboutBox 的资源使用 Finnish 作为其语言,且其条件是 XX33。
IDD_AboutBox (Finnish – XX33)
复制现有资源并更改其语言及条件
1.在 .rc 文件或Resource View窗口中,右击要复制的资源。
2.从快捷菜单中选择@Insert Copy@。
3.在@Insert Resource Copy@对话框中:
•对于@Language@列表框,选择语言。
•在@Condition@框中键入条件。
请参见
Copying Resources Resource Files Resource Editors

#在资源中搜索符号
在资源中查找符号
1.从@Edit@菜单中选择@Find Symbol@。
2.在Find Symbol dialog box中的@Find What@框内,从下拉列表选择上一个搜索字符串或键入要查找的快捷键(如 ID_ACCEL1)。
提示 若要为搜索使用regular expressions,必须从@Edit@菜单中使用Find in Files command而不是@Find Symbol@命令。 若要启用正则表达式,必须在Find dialog box中选择@Use: Regular Expressions@复选框。 然后可以单击@Find What@框右侧的右箭头键以显示正则搜索表达式列表。当从该列表中选择某个表达式时,该表达式将成为@Find What@框中的代用搜索文本。
3.选择@Find@选项中的任何一个。
4.单击@Find Next@。
注意 无法查找字符串、快捷键或二进制资源中的符号。
请参见
Symbols: Resource Identifiers Resource Files Resource Editors

#使用资源模板
资源模板是保存为 .rct 文件的自定义资源。 然后资源模板可以用作创建其他资源的起始点。 在开发共享功能的其他资源或资源组(如标准控件和其他重复元素)时资源模板可节省时间。 例如,可能想在若干对话框中包含@Help@按钮和表示公司徽标的图标。 若要很快做到这一点,可以创建新对话框模板并使用徽标和@Help@按钮自定义该模板。
一旦已自定义资源模板,必须将更改保存在模板文件夹(或在包含路径中指定的任何位置)中,以便新资源模板将出现在Add Resource dialog box中其资源类型下。 然后可以根据需要频繁使用新资源模板。
注意 可以将语言特定的模板文件放置在主模板目录的子目录中。 例如,可以将只用英语的模板文件放置在 \<资源模板目录>\1033 中。
创建资源模板
1.在 Solution Explorer中右击项目。
2.从快捷菜单中选择@Add@,然后单击@Add New Item@。
3.在@dd New Item@对话框的@Templates:@窗格中,选择@Resource Template File (.rct)@。
4.提供新 .rct 文件的名称和位置并单击@Open@。
5.新 .rct 文件被添加到项目,并出现在@Resources@文件夹下的解决方案资源管理器中。
现在可以双击 .rct 文件以在文档窗口中打开它,然后向其添加资源(右击文档窗口中的文件并从快捷菜单中选择@Add Resource@)。 然后可以自定义这些资源并保存 .rct 文件。
注意 当创建新的 RCT 文件时,Visual Studio 在 \Program Files\Microsoft Visual Studio 7\Vc7\VCResourceTemplates、\VC7\VCResourceTemplates\LCID(如表示英语的 1033)或在include path上的任何位置搜索它。 如果希望将 RCT 文件存储到另一文件夹(如 \My Documents),只需将该文件夹添加到包含路径,Visual Studio 将找到 RCT 文件。
将现有的 .rc 文件转换为 .rct 文件
1.Open the .rc file as a stand-alone file。
2.在@File@菜单上单击@Save <your filename> As@。
3.指定某个位置并单击@OK@按钮。
从模板创建新资源
1.在Resource View窗格中右击 .rc 文件并从快捷菜单中选择@Add Resource@。
2.在@Add Resource@对话框中,单击资源旁边的加号 (+) 展开资源节点,您将看到可用于该资源的所有模板。
3.双击要使用的模板。
4.根据需要在相应的资源编辑器中修改已添加的资源。
资源编辑器自动提供唯一的资源 ID。可以根据需要修改resource properties。
请参见
Resource Files Resource Editors

#导入和导出资源
可以导入图形化资源(位图、图标、光标和工具栏)、HTML 文件和自定义资源以在 Visual C++ 内使用。 可以从 Visual C++ 项目将同一类型的文件导出为可以在开发环境外使用的单独的文件。
注意 无法导入或导出资源类型(如快捷键、对话框和字符串表),因为它们不是独立的文件类型。
将个别资源导入当前资源文件
1.在Resource View中右击要将资源添加到的资源脚本 (*.rc) 文件。
2.单击快捷菜单中的@Import@。
3.找到并选择以下文件的文件名:位图 (.bmp)、图标 (.ico)、光标 (.cur)、Html 文件 (.htm) 或其他要导入的文件。
4.单击@OK@将资源添加到在@Resource@视图中选择的文件。
注意 无论选择了哪种特定的资源类型,导入过程的工作方式都相同。 导入的资源自动添加到该资源类型的正确节点。
将位图、图标或光标导出为单独的文件(以在 Visual C++ 外使用)
1.在@Resource@视图中右击要导出的资源。
2.在快捷菜单中单击@Export@。
3.在@Export Resource@对话框中,接受当前文件名或键入新文件名。
4.定位到希望在其中保存文件的文件夹并单击@Export@。
请参见
Resource Files Resource Editors

#资源的可编辑文件类型
可以打开下列类型的文件并编辑它们包含的资源。

文件名
说明

.rc
资源脚本文件。

.rct
资源模板文件。

.res
资源文件。

.exe
可执行文件。只能在具有 Windows NT 内核的操作系统上编辑,如 Windows 2000 或 WinNT。 可在 Win9x 上打开,但无法保存更改。

.dll
动态链接库文件。只能在具有 Windows NT 内核的操作系统上编辑,如 Windows 2000 或 WinNT。 可在 Win9x 上打开,但无法保存更改。

.bmp、.ico、.dib 和 .cur
位图、图标、工具栏和光标文件。


请参见
Resource Files

#资源的文件扩展名
可以将资源另存为下列文件类型。

打开文件的方式
将文件另存为

.rc
.rc 或 32 位 .res

32 位 .res
.rc 或 32 位 .res

32 位 .exe
32 位 .exe、.rc 或 32 位 .res

32 位 .dll
32 位 .dll、.rc 或 32 位 .res

.bmp 或 .dib
.bmp 或 .dib

.ico
.ico

.cur
.cur

.htm、.html
.htm 或 .html


* Visual Studio .NET 不支持 16 位资源文件。 16 位资源将在 Visual Studio 中打开,但是当编辑这些资源时,32 位资源关键字将替换 16 位关键字。
请参见
Resource Files

#受资源编辑影响的文件
在资源编辑会话期间,Visual Studio 环境使用下表中显示的文件。

文件名
说明

Resource.h
由开发环境生成的头文件,它包含符号定义。

Filename.aps
当前资源脚本文件的二进制版本,它用于快速加载。
资源编辑器不直接读取 .rc 或 resource.h 文件。资源编译器将它们编译成由资源编辑器所使用的 .aps 文件。该文件是一个编译步骤,只存储符号数据。与普通编译过程一样,非符号信息(如注释)在编译过程中将被放弃。每当 .aps 文件与 .rc 文件不同步时,就会重新生成 .rc 文件(例如,当您进行“保存”时,资源编辑器将改写 .rc 文件和 resource.h 文件)。对资源本身所做的任何更改依然包含在 .rc 文件中,但一旦改写 .rc 文件就总会丢失注释。有关如何保留注释的信息,请参阅Including Resources at Compile Time。

.rc
包含当前项目中的资源脚本的资源脚本文件。 无论何时保存,该文件都被 .aps 文件改写。


请参见
Resource Files
 

……

相关阅读