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

Таблица 7.2. ЗначенияпараметраIpszType функцииEnumResourceLanguages

Значение

Описание

RT_ACCELERATOR

Таблица оперативных клавиш

RT  ANICURSOR

Анимационный курсор

RT_ANIICON

Анимационная пиктограмма

RT BITMAP

Ресурс растрового изображения

RT_CURSOR

Аппаратно-зависимый ресурс курсора

RTJMALOG

Диалоговое окно

RT_FONT

Ресурс шрифта

RT_FONTDK

Ресурс каталога шрифта

RT_GROUP_CURSOR

Аппаратно-независимый ресурс курсора

RT_GROUP_ICON

Аппаратно-независимый ресурс пиктограммы

RT_HTML

Документ HTML

RTJCON

Аппаратно-зависимый ресурс пиктограммы

RT_MENU

Ресурс меню

RT_MESSAGETABLE

Вход таблицы сообщений

RT_PLUGPLAY

Ресурс, ориентированный на простое включение (plug-and-play)

RT_RCDATA

Ресурс, определяемый приложением (произвольные данные)

RT_STRING

Вход таблицы строк

REVERSION

Ресурс версии

RT_VXD

Драйвер VXD

IpszName

LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую имя ресурса, для которого должны быть перечислены языки.

IpEnumFunc

ENUMRESLANGPROC. Указатель на определяемую приложением функцию обратного вызова, которая должна быть вызвана для каждого пере- численного языка ресурса. См. приведенное ниже описание функции обратного вызова.

IParam

LONG_PTR. Определяемое приложением 32-разрядное значение, переданное функции обратного вызова. См. приведенное ниже описание функции обратного вызова.

Возвращаемое значение

BOOL. TRUE, в случае успешного выполнения; в ином случае возвращаемое значение — FALSE.

Включаемый файл

winbase.h

См. также

EnumResourceTypes, EnumResourceNames, LoadResource

Синтаксис обратнoro вызова

BOOL CALLBACK EnumResLangProc( HMODULE hModule, LPCTSTR IpszType, LPCTSTR IpszName, WORD wIDLanguage, LONG_PTR IParam )

Параметры обратного вызова

hModule

HMODULE. Используемый параметр hModule.

IpszType

LPCTSTR. Используемый параметр IpszType.

IpszName

LPCTSTR. Используемый параметр IpszName.

wIDLanguage

WORD. Идентификатор языка для ресурса. Для распаковки обозначения языка применяются макрокоманды PRIMARYLANGID и SUBLANGID. Обозначения языков приведены ниже:

Обозначения основных языков:

LANG AFRIKAANS

LANG_FAEROESE

LANG_KONKANI

LANG SANSKRIT

 

LANG_ALBANIAN

LANG FARSI

LANG KOREAN

LANG SERBIAN

 

LANG_ARABIC

LANG FINNISH

LANG_LATVIAN

LANG SINDHI

 

LANG_ARMENIAN

LANG FRENCH

LANG_LITHUANIAN

LANG SLOVAK

 

LANG_ASSAMESE

LANG GEORGIAN

LANG_MACEDONIAN

LANG SLOVENIAN

 

LANG_AZERI

LANG GERMAN

LANG_MALAY

LANG_SPANISH

 

LANG_BASQUE

LANG GREEK

LANG_MALAYALAM

LANG SWAHILI

 

LANG BELARUS I AN

LANG_GUJARATI

LANG MANIPURI

LANG_SWEDISH

 

LANG_BENGALI

LANG_HEBREW

LANG MARATHI

LANGJTAMIL

 

LANG BULGARIAN

LANG_HINDI

LANG NEPALI

LANG_TATAR

 

LANG CATALAN

LANG_HUNGARIAN

LANG NEUTRAL

LANG_TELUGU

 

LANG_CHINESE

LANG_ICELANDIC

LANG NORWEGIAN

LANG_THAI

 

LANG_CROATIAN

LANG_INDONESIAN

LANG ORIYA

LANG_TURKISH

 

LANG CZECH

LANG ITALIAN

LANG POLISH

LANG UKRANIAN

 

LANG_DANISH

LANG JAPANESE

LANG_PORTUGUESE

LANG URDU

 

LANG_DUTCH

LANG KANNADA

LANG_PUNJABI

LANG UZBEK

 

LANG_ENGLISH

LANG_KASHMIRI

LANG ROMANIAN

LANG_VIETNAMESE

 

LANG ESTONIAN

LANG_KAZAK

LANG RUSSIAN

 

Обозначения диалектов языков:

 

SUBLANG_ARABIC SAUDI ARABIA

SUBLANG GERMAN SWISS

 

SUBLANG ARABIC IRAQ

SUBLANG_GERMAN_AUSTRIAN

 

SUBLANG_ARABIC_EGYPT

SUBLANG_GERMAN_LUXEMBOURG

 

SUBLANG_ARABIC_LIBYA

SUBLANG_GERMAN_LIECHTENSTEIN

 

SUBLANG_ARABIC_ALGERIA

SUBLANG_ITALIAN

 

SUBLANG_ARABIC_MOROCCO

SUBLANG ITALIAN SWISS

 

SUBLANG_ARABIC TUNISIA

SUBLANG_KASHMIRI_INDIA

 

SUBLAKG ARABICJDMAN

SUBLANGJKOREAN

 

SUBLANG_ARABIC_YEMEN

SUBLANG_LITHUANIAN

 

SUBLANG ARABIC_SYRIA

SUBLANG_MALAY_BRUNEI_DARUSSALAM

 

SUBLANG ARABIC_JORDAN

SUBLANG_MALAY_MALAYSIA

 

SUBLANG ARABIC_LEBANON

SUBLANG_NEPALI_INDIA

 

SUBLANG ARABIC_KUWAIT

SUBLANG_NEUTRAL

 

SUBLANG ARABIC_UAE

SUBLANG_NORWEGIAN_BOKMAL

 

SUBLANG ARABIC_BAHRAIN

SUBLANG_NORWEGIAN_NYNORSK

 

SUBLANG ARABIC_QATAR

SUBLANG_PORTUGUESE

 

SUBLANG_AZERI_CYRILLIC

SUBLANG PORTUGUESE BRAZILIAN

 

SUBLANG_AZERI_LATIN

SUBLANG_SERBIAN_LATIN

 

SUBLANG_CHINESE_TRADITIONAL

SUBLANG SERBIAN CYRILLIC

 

SUBLANG_CHINESE_SIMPLIFIED

SUBLANG_SPANISH

 

SUBLANG_CHINESE_HONGKONG

SUBLANG SPANISH MEXICAN

 

SUBLANG_CHINESE_S INGAPORE

SUBLANG SPANISH MODERN

 

SUBLANG CHINESE_MACAU

SUBLANG_SPANISH_GUATEMALA

 

SUBLANG DEFAULT

SUBLANG_SPANISH_COSTA_RICA

 

SUBLANG_DUTCH

SUBLANG_SPANISH_PANAMA

 

SUBLANG DUTCH_BELGIAN

SUBLANG SPANISH DOMINICAN REPUBLIC

 

SUBLANG ENGLISH_US

SUBLANG SPANISH VENEZUELA

 

SUBLANG ENGLISH_UK

SUBLANG_SPANISH_COLOMBIA

 

SUBLANG_ENGLISH_AUS

SUBLANG SPANISH PERU

 

SUBLANG_ENGLISH_CAN

SUBLANG SPANISH ARGENTINA

 

SUBLANG_ENGLI SH_NZ

SUBLANG SPANISH ECUADOR

 

SUBLANG_ENGLISH_EIRE

SUBLANG_SPANISH_CHILE

 

SUBLANG_ENGLISH_SOUTH_AFRICA

SUBLANG_SPANI SH_URUGUAY

 

SUBLANG ENGLISH JAMAICA

SUBLANG SPANISH PARAGUAY

 

SUBLANG_ENGLISH_CARIBBEAN

SUBLANG_SPANISH_BOLIVIA

 

SUBLANG_ENGLISH_BELIZE

SUBLANG_SPANISH_EL_SALVADOR

 

SUBLANG_ENGLISH_TRINIDAD

SUBLANG_SPANISH_HONDURAS

 

SUBLANG_ENGLISH_PHILIPPINES

SUBLANG_SPANISH_NICARAGUA

 

SUBLANG_ENGLISH_ZIMBABWE

SUBLANG_SPANISH_PUERTO_RICO

 

SUBLANG_FRENCH

SUBLANG_SWEDISH

 

SUBLANG FRENCH BELGIAN

SUBLANG SWEDISH FINLAND

 

SUBLANG FRENCH CANADIAN

SUBLANG SYS DEFAULT

 

SUBLANG FRENCH SWISS

SUBLANG_URDU_INDIA

 

SUBLANG FRENCH LUXEMBOURG

SUBLANG URDU PAKISTAN

 

SUBLANG FRENCH MONACO

SUBLANG UZBEK CYRILLIC

 

SUBLANG_GERMAN

SUBLANG UZBEK LATIN

 

IParam

LONG_PTR. Используемый параметр IParam.

 

Пример

В следующем примере показано, как с помощью функции EnumResource-Languages найти и загрузить ресурс для указанного языка. Приложение начинает работу с отображения меню на английском языке. Когда пользователь выбирает пункт меню Test!, функция EnumResourceLanguages применяется для перечисления главных меню в файле ресурса. Если будет обнаружен указанный язык, в данном случае испанский (мексиканский диалект), загружается меню, которое становится новым главным меню. Если меню для указанного языка не найдено, отображается окно сообщения, чтобы дать знать об этом пользователю.

 

Меню в файле описания ресурса

 

См.    \local-sources\chap07\07-01.txt

 

Функции WndProc и EnumLoadMenu

 

См.    \local-sources\chap07\07-02.txt

 

EnumResourceNames                         • Windows 98    •  Windows 2000

 

Описание

Функция EnumResourceNames выполняет поиск модуля для каждого ресурса указанного типа, передавая имя каждого найденного ресурса в функцию обратного вызова, определенную в приложении. Перечисление продолжается до тех пор, пока не будут найдены все ресурсы или функция обратного вызова не возвратит значение FALSE. Функция EnumResourceNames применяется для определения имен доступных ресурсов указанного типа. Эта функция может также применяться для поиска имен ресурсов пиктограмм, доступных в приложении или в динамически загружаемой библиотеке (DLL — dynamic link library).

 

Синтаксис

BOOL EnumResourceNames( HMODULE ItModule, LPCTSTR IpszType, ENUMRESNAMEPROC IpEnumFunc, LONG_PTR IParam )

 

Параметры

 

li Module

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

 

IpszType

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

 

IpEnumFunc

ENUMRESNAMEPROC. Указатель на определяемую приложением функцию обратного вызова, которая должна быть вызвана для каждого перечисляемого ресурса данного типа.

 

IParam

LONG_PTR. Определяемое приложением 32-разрядное значение, переданное функции обратного вызова. См. приведенное ниже описание функции обратного вызова.

 

Возвращаемое значение

BOOL. TRUE, в случае успешного выполнения; в ином случае возвращаемое значение — FALSE. Для выборки расширенных данных об ошибке применяется функция GetLastError.

 

Включаемый файл

winbase.h

 

См. также

EnumResourceTypes, EnumResourceLanguages, LoadResource

 

Синтаксис обратного вызова

 

BOOL CALLBACK EnumResNameProc( HMODULE hModule, LPCTSTR IpszType, LPTSTR IpszName, LONG_PTR IParam )

 

Параметры обратного вызова

 

h Module

HMODULE. Используемый параметр hModule.

 

IpszType

LPCTSTR. Используемый параметр IpszType.

 

IpszName

LPTSTR. Символьная строка с нулевым символом в конце, содержащая имя перечисляемого ресурса.

 

IParam

LONG PTR. Используемый параметр IParam.

 

Пример

В следующем примере показано, как использовать функцию EnumResourceNames для поиска растровых изображений в файле ресурса (RC) модуля. Функция обратного вызова выводит каждое обнаруженное растровое изображение и имя клиентской области приложения. Код этого примера можно использовать для просмотра "эскизов" растровых изображений в приложениях. На рис. 7.1 показаны результаты, полученные при выбо-ое пункта меню Test!.