Ресурсы. Файл описания ресурса, страница 2

Наилучшим местом хранения данных ресурса, определяемых пользователем, обычно является внешний файл. Содержимое этого файла добавляется к данным ресурса при трансляции файла ресурса. Пример ресурсов, определяемых пользователем, приведен ниже:

paragraph           TEXT               "paragraph.txt"

picture                 METAFILE         "picture.wmf"

Эти две строки определяют типы ресурсов TEXT и METAFILE, определяемые пользователем. Данные для этих ресурсов находятся в двух отдельных файлах. Транслятор ресурсов считывает эти файлы и помещает содержащиеся в них данные в файл ресурса выполняемой программы. Для поиска данных ресурса, определяемых пользователем, применяются функции FindResource и FindResourceEx, а функция LoadResource загружает эти данные в блок памяти для использования в приложении.

Описаниефункцийподдержкиресурсов

В табл. 7.1 приведены функции поддержки ресурсов. За таблицей следуют подробные описания функций.

Таблица 7. 1. Функцииподдержкиресурсов

Функция

Назначение

EnumResourceLanguages

Вызывает функцию обратного вызова для каждого ресурса в модуле с идентификатором языка ресурса.

EnumResourceNames

Вызывает функцию обратного вызова для каждого ресурса в модуле с именем ресурса.

EnumResourceTypes

Вызывает функцию обратного вызова для каждого типа, найденного в файле ресурса.

FindResource

Ищет ресурс в файле ресурса.

FindResourceEx

Ищет ресурс в файле ресурса для данного языка.

LoadResource

Загружает ресурс в память.

LoadString

Загружает строку из таблицы строк файла ресурса в буфер.

LockResource

Блокирует глобальный блок памяти, содержащий ресурс.

SizeofResource

Определяет размер ресурса.

EnumResourceLanguages                    • Windows 98   •  Windows 2000

Описание

Функция EnumResourceLanguages ищет модуль, соответствующий каждому ресурсу с указанным типом и именем, и вызывает определенную в

приложении функцию обратного вызова, передавая ей название языка каждого обнаруженного ею ресурса. Перечисление продолжается до тех пор, пока не будут найдены все ресурсы или пока функция обратного вызова не возвратит значение FALSE. Эта функция может применяться в приложении для определения того, какие языки доступны для ресурса. Синтаксис         BOOLEnumResourceLanguages( HMODULEhMotliile, LPCTSTR

IpszType, LPCTSTR IpszName, ENUMRESLANGPROC IpEnumFunc, LONG_PTR IParam )

Параметры

hModuleHMODULE. Дескриптор экземпляра модуля, который должен быть найден. Если этот параметр равен NULL, используется дескриптор модуля вызывающего процесса.

IpszTypeLPCTSTR. Указатель на строку с нулевым символом в конце, содержащую тип ресурса, который должен быть найден. Для стандартных типо» ресурса этот параметр может иметь одно из значений, перечисленных в табл. 7.2.