通过一个
.RC
文件
#include
另外一个
.RC
文件的方式,
Visual C++
和资源编译器支持同一个工
程中使用多个资源文件,
多重嵌套也是允许的。
将工程资源文件拆分成多个资源文件的原因
有几个:
将资源文件拆分成多个
.RC
文件,
更容易在多个工程团队成员之间管理大量的资源。
如
果使用源代码控制管理来签出文件和签入更改,
将资源拆分成多个
.RC
文件能更好的管
理资源的改动。
如果希望使用预处理指令作为将资源分成几部分,如
#ifdef
,
#endif
,
#define
,必须把他
们隔离到会被资源编译器编译的只读资源中。
Visual C++
加载和保存分散的
.RC
文件比一个集中的
.RC
更快。
如果希望用文本编辑器以易读的方式维护一个资源,
则应该在
Visual C++
编辑的
.RC
文
件之外保存。
如果需要一个由其他数据编辑器解释的二进制或者文本格式的用户自定义资源,
也需要
分离到单独的
.RC
文件中,防止
Visual
C++
将其修改为十六进制数据格式。在
MFC
高
级主题示例
SPEAKN
中的
.WA
V(
声音
)
文件资源就是一个很好的例子。
可以在“
Resource Include
”对话框的“
Compile-Time Directives
”中
#include
第二个资源文件
SECORND.RC:
#include "res\myapp.rc2" // non-Visual C++ edited resources
#include "second.rc" // THE SECOND .RC FILE
#include "afxres.rc" // Standard components
#include "afxprint.rc" // printing/print preview resources
结果显示在下图:
RESOURCE.H AFXRES.H
\ /
\ /
MYAPP.RC
|
|
RES\MYAPP.RC2
SECOND.RC
AFXRES.RC
AFXPRINT.RC
使用
“
Compile-Time Directives
”
,
可以将
Visual C++
可编辑和不可编辑的资源组织到多个
.RC
文件,
这里
“主”
MY
APP.RC
只包含其他
.RC
文件,
不做其他事情。
如果正在使用
Visual C++
工程的
.MAK
文件,那么需要在工程中包含“主”
.RC
文件,这样所有的被包含的资源都会
编译到程序中。