如何:创建资源 (C++)

可通过以下方式为项目创建资源:

  • 使用资源脚本文件。

    注意

    在添加资源之前必须执行此步骤。

  • 将资源添加到项目并使用“资源视图”

  • 使用资源模板创建自定义资源。

使用资源脚本文件

在为项目创建和添加新资源之前,必须先创建一个资源脚本 (.rc) 文件。

注意

只能向加载到 Visual Studio IDE 的现有项目添加资源脚本文件。 不能在项目之外创建独立的资源脚本,不过可以随时创建资源模板 (.rct) 文件。

创建资源脚本文件

  1. 将焦点置于“解决方案资源管理器”中的现有项目文件夹上,例如 MyProject

    注意

    不要将项目文件夹与“解决方案资源管理器”中的解决方案文件夹混淆。 如果将焦点置于 Solution 文件夹上,将不会显示相同的“添加新项”选项

  2. 在菜单中,转到“项目”>“添加新项”

  3. 选择“Visual C++”文件夹,然后在右侧窗格中选择“资源文件(.rc)”

  4. 在“名称”文本框中为资源脚本文件命名,然后选择“打开”

打开资源脚本文件

无需打开项目即可查看资源脚本文件中的资源。 脚本文件将在文档窗口而不是“资源视图”中打开

注意

某些命令仅在独立打开文件时才可用,即,在不事先加载项目的情况下在项目之外打开。 例如,若要使用“另存为”命令并以不同的格式或文件名保存文件,必须单独打开该文件

  • 若要在项目之外打开资源脚本文件,请在菜单中转到“文件”>“打开”,然后选择“文件”。 导航到资源脚本文件,突出显示该文件,然后选择“打开”

    注意

    有时你可能希望在不使用资源编辑器打开资源的情况下查看项目资源脚本文件的内容。 例如,可能需要在资源文件的所有对话框内搜索字符串,而不必分别打开每个对话框。 可以以文本格式轻松打开资源文件,查看文件所包含的所有资源并完成文本编辑器支持的全局操作。

    若要以文本格式打开资源脚本文件,请使用上述步骤中“打开”按钮右侧的下拉箭头,然后选择“打开方式”。 选择“源代码(文本)编辑器”,然后从“打开方式”下拉列表中选择“文本”,资源将在“源代码”编辑器中打开

  • 若要打开多个资源脚本,请针对要打开的每个文件执行上述相同步骤,例如 Source1.rc 和 Source2.rc。 当两个 .rc 文件在单独的文档窗口中打开时,使用“窗口”菜单或右键单击其中一个文件,然后选择“新建水平选项卡组”或“新建垂直选项卡组”。 窗口现在会平铺,因此可以同时查看它们。

提示

可以通过右键单击解决方案资源管理器中的 .rc 文件,选择“打开方式”并选择“源代码(文本)编辑器”来打开资源脚本文件

通常情况下,当使用 MFC 应用程序向导针对 Windows 生成Microsoft 基础类 (MFC) 应用程序时,该向导会生成一组基本文件(包括资源脚本 (.rc) 文件),这些文件包含 MFC 的核心功能。 但是,在为不是基于 MFC 的 Windows 应用程序编辑 .rc 文件时,这些 MFC 特定的功能不可用。 这包括代码向导、菜单提示字符串、组合框控件的列表内容和 ActiveX 控件托管。

  • 若要添加 MFC 支持,请在资源脚本文件打开的情况下,在“资源视图”中突出显示资源文件夹(例如 MFC.rc)。 然后在“属性”窗口中,将“MFC 模式”设置为 True

    注意

    除了设置“MFC 模式”以外,.rc 文件必须是 MFC 项目的一部分。 仅在 Win32 项目中的 .rc 文件上将“MFC 模式”设置为 True 无法获得 MFC 功能

创建资源

可将资源创建为一个新的默认资源(即,不是基于模板的资源)或采用 模板模式的资源。

使用“资源视图”窗口显示项目中包含的资源文件。 展开顶部文件夹(如 Project1.rc)将显示该 .rc 文件中的资源类型。 展开每种资源类型以显示该类型的各个资源。

提示

若要打开“资源视图”窗口,请转到菜单“视图”>“其他窗口”>“资源视图”,或按 Ctrl+Shift+E

还可以右键单击“资源视图”窗口来启动命令的快捷菜单,或者双击标题栏来停靠和取消停靠窗口。 右键单击控制窗口行为的命令的标题栏。 有关详细信息,请参阅 Windows 管理

“资源视图”窗口包含“添加资源”对话框,其中包含以下用于将资源添加到 C++ Windows 桌面应用程序项目的属性

properties 说明
资源类型 指定要创建的资源类型。

可以展开光标和对话框资源类别以显示其他资源,这些资源位于 ..\Microsoft Visual Studio <version>\VC\VCResourceTemplates\<LCID>\mfc.rct。 如果需要添加 .rct 文件,请将它们放在此处或指定另一个 include 路径。 显示在树控件顶层的资源是 Visual Studio 提供的默认资源。 .rct 文件中的资源将显示在相应类别下的第二层。 可添加的 .rct 文件数没有预设限制。

新建 基于在“资源类型”框中选择的类型创建资源,并在相应的编辑器中打开资源

例如,如果创建对话框资源,则会在对话框编辑器中打开该资源。
导入 打开“导入”对话框以导航到要导入当前项目的资源

可以导入位图、图标、光标、HTML、声音 (.WAV) 或自定义资源文件。
自定义 打开“新建自定义资源”对话框以创建自定义资源

另外,包含一个“资源类型”属性,该属性提供一个文本框用于输入自定义资源类型的名称。 当你退出时,Visual C++ 会自动将名称大写。 只能在二进制编辑器中编辑自定义资源。

当创建新资源时,Visual c++ 会向其分配一个唯一名称,例如 IDD_Dialog1。 可以通过在关联的资源编辑器或“属性”窗口中编辑资源属性来自定义此资源 ID。

注意

不要指定 Visual Studio 保留的资源名称或 ID。 保留的名称为 DESIGNINFOHWBTEXTINCLUDE,保留的 ID 为 255

创建资源

  • 在“资源视图”中选择你的 .rc 文件,然后使用“编辑”>“添加资源”并选择要添加到项目的资源类型

    提示

    也可以在“资源视图”中右键单击 .rc 文件,然后从快捷菜单中选择“添加资源”

  • 在“解决方案资源管理器”中右键单击项目文件夹,选择“添加”>“添加资源”,然后选择要添加到项目的资源类型

    注意

    如果你的项目中尚无 .rc 文件,此步骤将创建一个。 然后可以重复此步骤将特定资源类型添加到新的 .rc 文件。

  • 在“类视图”中右键单击项目,选择“添加”>“添加资源”,然后选择要添加到项目的资源类型

  • 使用菜单“项目”>“添加资源”

使用资源模板

资源模板是保存为 .rct 文件的自定义资源。 然后,资源模板将用作创建资源的起点。 资源模板可节省开发其他资源或共享功能(如标准控件或重复元素)的资源组的时间。 例如,如果你想要在多个对话框中包含带有公司徽标的帮助按钮,请创建一个新的对话框模板并使用帮助按钮和徽标对其进行自定义。

自定义资源模板后,将所做的更改保存在模板文件夹中(或 include 路径中指定的任何位置),以便新的资源模板显示在“添加资源”对话框中的资源类型下。 现在可以根据需要像往常一样使用资源模板。

注意

资源编辑器将自动提供一个唯一的资源 ID。 你可以根据需要修改资源属性

注意

将语言特定的模板文件放在主模板目录的子目录中。 例如,将仅限英文的模板文件放在 ..\<资源模板目录>\1033 中

Visual Studio 将在 \Program Files\Microsoft Visual Studio <version>\VC\VCResourceTemplates、\Program Files\Microsoft Visual Studio <version>\VC\VCResourceTemplates\<LCID>(例如 LCID 1033 为英语)或 include 路径中的任何位置搜素该文件。 如果你要将 .rct 文件存储在其他位置,则必须将该位置添加到 include 路径。

创建和使用资源模板

  1. 在“解决方案资源管理器”中,右键单击你的项目并选择“添加”>“添加新项”

  2. 在“模板:”窗格中,选择“资源模板文件(.rct)”

  3. 为新的 .rct 文件提供名称和位置,然后选择“打开”

    新的 .rct 文件将被添加到项目中,并将显示在“资源”文件夹下的“解决方案资源管理器”中

  4. 双击 .rct 文件以在文档窗口中打开它。 若要添加资源,请右键单击文档窗口中的文件并选择“添加资源”

    可以自定义添加的资源并保存 .rct 文件

  5. 在“资源视图”窗格中,右键单击 .rc 文件并选择“添加资源”

  6. 选择资源旁边的加号 (+) 以展开资源节点并查看可用于该资源的模板。

  7. 双击要使用的模板。

    可根据需要在相应的资源编辑器中修改已添加的资源。

将现有资源文件转换为模板

打开资源脚本文件后,在菜单中转到“文件”>“将 <文件名> 另存为”。 指定一个位置,然后选择“确定”

要求

Win32

另请参阅

资源文件
如何:管理资源
如何:在编译时包含资源