Ресурс STRINGTABLE
Определяет один или несколько строковых ресурсов для приложения. Строковые ресурсы — это просто строки Юникода или ASCII, которые можно загрузить при необходимости из исполняемого файла с помощью функции LoadString .
Существует два способа форматирования инструкции STRINGTABLE :
STRINGTABLE [optional-statements] {stringID string ...}
— или —
STRINGTABLE
[optional-statements]
BEGIN
stringID string
. . .
END
Параметры
-
Необязательные операторы
-
Этот параметр может быть равен нулю или более из следующих инструкций.
Инструкция Описание ХАРАКТЕРИСТИКИdword Определяемые пользователем сведения о ресурсе, которые могут использоваться средствами, которые считывают и записывают файлы ресурсов. Дополнительные сведения см. в разделе ХАРАКТЕРИСТИКИ. ЯЗЫК, подязык Указывает язык для ресурса. Дополнительные сведения см. в разделе LANGUAGE. VERSIONdword Определяемый пользователем номер версии ресурса, который может использоваться средствами, которые считывают и записывают файлы ресурсов. Дополнительные сведения см. в разделе VERSION. -
stringID
-
16-разрядное целое число без знака, идентифицирующее ресурс.
-
Строка
-
Одна или несколько строк, заключенных в кавычки. Строка должна содержать не более 4097 символов и занимать одну строку в исходном файле (если в качестве продолжения строки не используется символ \). Чтобы добавить возврат каретки в строку, используйте следующую последовательность символов: \012. Например, "Строка 1\012Line two" определяет строку, которая отображается следующим образом:
Line one Line two
Чтобы внедрить кавычки в строку, используйте следующую последовательность: "". Например, ""Строка три""" определяет строку, которая отображается следующим образом:
"Line three"
Для кодирования символов Юникода используйте букву L, за которой следуют символы Юникода, заключенные в кавычки. Пример см. в разделе Примеры.
Компилятор ресурсов также поддерживает продолжение строк в строке. Пример см. в разделе Примеры.
Некоторые атрибуты также поддерживаются для обеспечения обратной совместимости. Дополнительные сведения см. в разделе Общие атрибуты ресурсов.
Комментарии
Rc выделяет 16 строк на раздел и использует значение идентификатора, чтобы определить, какой раздел будет содержать строку. Строки, идентификаторы которых отличаются только нижними 4 битами, помещаются в один раздел.
Примеры
В следующем примере показано использование инструкции STRINGTABLE для отображения строк ASCII:
#define IDS_HELLO 1
#define IDS_GOODBYE 2
STRINGTABLE
{
IDS_HELLO, "Hello"
IDS_GOODBYE, "Goodbye"
}
В следующем примере показано, как кодировать символы Юникода:
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 и Юникодом. Обратите внимание, что строки без начального значения "L" используют 2-значный escape-формат:
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
См. также раздел