TN023:标准MFC资源
此说明描述了 MFC 库提供的接口和所需的标准资源。
标准资源
MFC 提供可以在应用程序中使用预定义的资源的两类:剪辑图片资源和标准 framework 资源。
剪辑图片资源是其他资源您可能希望添加到应用程序的用户界面的结构不依赖于,因此,但。 以下剪辑图片资源在 MFC 通用示例 CLIPART包含:
Common.rc:一个包含资源文件:
表示各种业务和数据处理任务图标的大型集合。
几种常见光标 (请参见 Afxres.rc)。
包含几个工具栏按钮的工具栏位图。
Commdlg.dll 使用位图 (dib) 和图标资源。
Indicate.rc:包含状态栏键状态指示器的字符串资源,如 “帽” caps lock 键的。
Prompts.rc:包含每个预定义命令的菜单提示字符串资源,如 “创建新文档” ID_FILE_NEW的。
Commdlg.rc:包含标准 COMMDLG 对话框模板的 Visual C++ 兼容 .rc 文件。
标准 framework 资源与 AFX 定义的 ID 的资源框架为内部实现取决于。 您将很少需要更改这些 AFX 定义的资源。 如果这样做,则应按照本主题后面的大纲显示这种做法。
以下结构资源在 MFC 包含 \ include 目录:
Afxres.rc:框架使用的公共资源。
Afxprint.rc:资源特定打印。
Afxolecl.rc:资源特定于 OLE 客户端应用程序。
Afxolev.rc:资源特定于完整的 OLE 服务器应用程序。
使用和图片二进制文件中的资源
打开在 Visual C++ 中的应用程序的资源文件。
打开 Common.rc。 此文件包含所有二进制、图片资源。 ,因为 Common.rc 文件编译,则可能需要很长时间。
请按住 CTRL,当您拖动要从 Common.rc 使用到应用程序资源文件的资源。
若要使用其他剪辑图片资源,请执行相同的步骤。 唯一的区别是将打开相应的 .rc 文件而不是 Common.rc。
备注
注意不要永久无意中将资源在 Common.rc 外部。如果按住 CTRL 键,当您拖动资源时,您将创建一个副本。如果不允许 CTRL 在上,当您拖动时,资源是移动。如果担心您可能已经进行了意外到 Common.rc 文件的更改,请单击 “否”,则会询问是否保存到 Common.rc 时的更改。
备注
.rc 资源文件具有特定 TEXTINCLUDE 资源在将阻止您意外保存在标准 .rc 文件顶部的它们。
自定义标准 framework 资源
通过使用应用程序的资源文件,中的 #include 指令标准 framework 资源在应用程序通常。 AppWizard 将生成一个资源文件。 此文件包含相应的标准 framework 资源, AppWizard 选择哪个选项。 可以查看,添加或移除哪些资源通过更改编译时指令包括。 为此,请打开 资源 菜单并选择 设置包括。 查看 “编译时指令”编辑项目。 例如:
#include "afxres.rc"
#include "afxprint.rc"
最常见的情况自定义标准 framework 资源添加或移除其他与打印, OLE 客户端包括,并且, OLE 服务器。
在某些少见的情况下您可能希望自定义标准 framework 资源的内容您的特定应用程序,而不只是添加和删除整个文件。 按照中的步骤演示如何限制是包含的资源:
自定义标准资源文件的内容
打开在 Visual C++ 的资源文件。
使用 " 资源包括命令,移除要自定义的标准 .rc 文件的 #include 。 例如,自定义打印预览工具栏,请移除 #include "afxprint.rc" 行。
打开 MFC 中相应的标准资源文件 \ include。 在示例稍后本主题中前面所述,相应的文件是 MFC \ include \ Aafxprint.rc
复制所有资源从标准 .rc 文件添加到您的应用程序资源文件。
修改标准资源的副本在应用程序资源文件中。
备注
不要修改资源直接在标准 .rc 文件。这样做将修改资源可在每个应用程序,而不仅仅是在当前工作的脚本。