STRINGTABLE 资源

定义应用程序的一个或多个字符串资源。 字符串资源只是以 null 结尾的 Unicode 或 ASCII 字符串,可在需要时使用 LoadString 函数从可执行文件加载这些字符串。

可通过两种方式设置 STRINGTABLE 语句的格式:

STRINGTABLE  [optional-statements] {stringID string  ...}

- 或 -

STRINGTABLE
  [optional-statements]
BEGIN
stringID string
. . .
END

parameters

optional-statements

此参数可以是以下语句的零个或多个。

语句 说明
特征dword 有关资源的用户定义信息,可供读取和写入资源文件的工具使用。 有关详细信息,请参阅 特征
语言语言子语言 指定资源的语言。 有关详细信息,请参阅 LANGUAGE
VERSIONdword 可供读取和写入资源文件的工具使用的资源的用户定义版本号。 有关详细信息,请参阅 版本

 

stringID

标识资源的无符号 16 位整数。

字符串

用引号括起来的一个或多个字符串。 字符串必须不超过 4097 个字符,并且必须占用源文件 (中的单行,除非“\”用作行延续) 。 若要向字符串添加回车符,请使用以下字符序列:\012。 例如,“第一行\012行二”定义如下所示的字符串:

Line one
Line two

若要在字符串中嵌入引号,请使用以下序列:“”。 例如,“”“第三行”“”定义如下所示的字符串:

"Line three"

若要对 Unicode 字符进行编码,请使用“L”,后跟用引号括起来的 Unicode 字符。 有关示例,请参阅示例部分。

资源编译器还支持 字符串中的行延续。 有关示例,请参阅示例部分。

还支持某些属性以实现向后兼容性。 有关详细信息,请参阅 通用资源属性

备注

RC 为每个节分配 16 个字符串,并使用标识符值来确定哪个节包含字符串。 标识符仅在底部 4 位有区别的字符串放置在同一节中。

示例

以下示例演示如何使用 STRINGTABLE 语句显示 ASCII 字符串:

#define IDS_HELLO    1
#define IDS_GOODBYE  2

STRINGTABLE
{
    IDS_HELLO,   "Hello"
    IDS_GOODBYE, "Goodbye"
} 

以下示例演示如何对 Unicode 字符进行编码:

STRINGTABLE
BEGIN
IDS_CHINESESTRING L"\x5e2e\x52a9"
IDS_RUSSIANSTRING L"\x0421\x043f\x0440\x0430\x0432\x043a\x0430"
IDS_ARABICSTRING L"\x062a\x0639\x0644\x064a\x0645\x0627\x062a"
END

以下示例演示了具有 ASCII 和 Unicode 的字符串。 请注意,没有初始“L”的字符串使用 2 位转义格式:

STRINGTABLE
BEGIN
IDS_1 L"5\x00BC-Inch Floppy Disk"
IDS_1a "5\xBC-Inch Floppy Disk"
IDS_2 L"Don't confuse \x2229 (intersection) with \x222A (union)"
IDS_3 "Copyright \xA92001"
IDS_3a L"Copyright \x00a92001"
END

以下示例演示如何使用行延续:

STRINGTABLE
BEGIN
IDS_VERYLONGSTRING "blah blah blah blah blah blah \
blah blah blah blah blah blah \
blah blah blah blah blah blah \
blah blah blah blah blah blah"
END

另请参阅

LoadString

加速器

特性

语言

菜单

RCDATA

版本