Форма VCL и управление настройками шрифта под русской версией MS Windows

StackOverflow https://stackoverflow.com/questions/2543114

Вопрос

У меня есть приложение Borland C ++ Builder VCL (так что я еще не работаю с Unicode), я хочу предоставить простой перевод текста подписи управления для русского текста во время выполнения.

Я могу легко использовать Enumchildwindows Чтобы получить подпись английского языка, затем поиск перевода и замените текст подписи, используя SetWindowText. Анкет Это хорошо работает для моих западных европейских переводов, где мне не нужно беспокоиться о шрифте. Но я не уверен, как русская версия Windows, а затем VCL обрабатывает 8 -битные кириллические наборы символов.

В настоящее время все элементы управления VCL имеют настройки шрифта:

Charset=DEFAULT_CHARSET
name=MS Sans Serif

Я прав, предполагая, что когда моя программа будет запущена под русской версией Windows, набор символов будет кириллическим с Default_charset Настройка, чтобы мне не нужно было изменить настройки шрифта во всех моих элементах управления?

Если мне нужно изменить шрифт (во время выполнения), если функция API Windows Sendmessage (hwnd, wm_setfont, (wparam) hfont, true) Работать с VCL Controls? Я пытался использовать CreateFont () и Sendmessage (.. wm_setfont ..) с Russian_charset и кириллическим лицом шрифта. Это, по-видимому, не имеет никакого эффекта, он сохраняет шрифт, который был установлен для управления в форме во время дизайна (даже ANSI_CHARSET и стандартная установленная Windows Font Face не влияет на шрифт элементов управления), поэтому я ищу Подтверждение того, что мне не придется изменять шрифт элементов управления, или иначе сообщить мне метод VCL для настройки настройки шрифта всех элементов управления во время выполнения.

Нет правильного решения

Другие советы

Нет необходимости изобретать велосипед. Почему вы не используете инструменты для трансляции интеграции, которые предоставляются Borland C ++ Builder? Существует мастер, который поможет вам с переводами и сделает специальный файл ресурсов, который будет содержать перевод всех текстовых строк в вашем приложении. Затем программа будет проверять язык системы и файлы доступных языковых ресурсов при запуске и автоматически будет использовать соответствующий язык. Проверьте систему справки C ++ Builder с помощью индекса - «Интегрированная среда перевода (ITE)» для более подробного описания процесса.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top