Образец SatDLL: реализация многоязычных ресурсов в приложении Win32
В образце SatDLL демонстрируется ряд возможностей, связанных с локализацией и глобализацией:
Настройка решения с построением одного основного EXE-файла и отдельных вспомогательных библиотек DLL, содержащих версии пользовательского интерфейса на разных языках.
Рекомендуемый метод реализации механизма загрузки вспомогательных библиотек DLL с переходом на резервный язык в случае, если выбранный режим недоступен.
Код для определения предпочитаемого языка для пользовательского интерфейса любой версии Windows.
Динамическое переключение языка пользовательского интерфейса при получении запроса на изменение от пользователя (при этом не демонстрируется, как сделать постоянным выбранный пользователем язык интерфейса).
Использование функций сопоставления универсальной кодировки символов для построения версий приложения в ANSI и Юникоде при одном и том же исходном коде.
Примечание по безопасности |
---|
Этот пример кода иллюстрирует концепцию и содержит только код, относящийся к этой концепции. Он может не отвечать требованиям безопасности для конкретных условий, и его не следует использовать в точности в том виде, в каком он приведен. Чтобы проект был безопасным и надежным, рекомендуется добавить код обеспечения безопасности и код обработки ошибок. Корпорация Майкрософт предоставляет этот пример кода на условиях "КАК ЕСТЬ", без каких-либо гарантий. |
Чтобы получить образцы и инструкции по их установке, выполните следующие действия.
Доступ к примерам из Visual Studio
В меню Справка выберите пункт Примеры.
По умолчанию эти примеры устанавливаются в папку диск:\Program Files\Microsoft Visual Studio 10.0\Samples\.
- Самая последняя версия этого примера и полный список примеров представлены на странице Visual Studio Samples на веб-сайте MSDN.
Построение и запуск образца
Построение и запуск этого образца
Откройте файл решения satdll.sln.
В меню "Построение" выберите команду Построить решение.
В меню Отладка выберите команду Запуск без отладки.
В конфигурации по умолчанию это решение создает приложение на основе Юникода, для которого требуется система Windows 2000 или более поздняя версия с установленной поддержкой японского и западноевропейских языков для правильного отображения всех символов пользовательского интерфейса.
Если в общих параметрах проекта в качестве набора символов выбрать "Использовать многобайтовую кодировку", образец можно будет скомпилировать для более ранних платформ Windows. Однако переключаться можно будет только между языками, поддерживаемыми кодовой страницей ANSI для такой ранней версии Windows.
Примечание
При отладке образца текущим каталогом считается каталог решения, а не каталог отладки.Поэтому каталоги для вспомогательных библиотек DLL (1031, 1033 и 1041) создаются в каталоге решения.Перед передачей приложения конечному пользователю эти каталоги вспомогательных DLL, разумеется, должны быть созданы в том каталоге, где находится основной исполняемый файл.
Ключевые слова
В этом образце показаны следующие ключевые слова:
LoadString; LoadMenu; LoadAccelerators; LoadIcon; LoadCursor; DialogBox; CreateFontIndirect; DrawText; InvalidateRect; UpdateWindow; DestroyMenu; SetMenu; DrawMenuBar; GetLocaleInfo; GetCurrentDirectory; FindFirstFile; FindNextFile; LoadLibrary; EnumResourceLanguages; GetVersionInfoEx; RegOpenKeyEx; RegQueryValueEx; RegCloseKey; GetUserDefaultUILanguage; GetUserDefaultLangID; _tWinMain; _tcscpy; _tcsncpy; _tcslen; _tcsclen; _tcscat; _ttoi; _itot
См. также
Основные понятия
Локализованные ресурсы в приложениях MFC. Вспомогательные библиотеки DLL