У меня есть приложение Borland C ++ Builder VCL (поэтому я пока не работаю с Unicode),
Я хочу предоставить простой перевод текста заголовка элемента управления на русский язык во время выполнения.
Я могу легко использовать EnumChildWindows , чтобы получить заголовок на английском языке, затем найти перевод и заменить текст заголовка, используя SetWindowText . Это хорошо работает для моих западноевропейских переводов, где мне не нужно беспокоиться о шрифте.
Но я не уверен, как русская версия Windows, а затем VCL обрабатывает 8-битные кириллические наборы символов.
В настоящее время все элементы управления VCL имеют настройки шрифта:
Charset=DEFAULT_CHARSET
name=MS Sans Serif
Правильно ли я считаю, что когда моя программа работает под русской версией Windows,
набор символов будет кириллическим с настройкой DEFAULT_CHARSET , поэтому мне не нужно
изменить настройки шрифта во всех моих элементах управления?
Если мне нужно изменить шрифт (во время выполнения), должна ли функция Windows API SendMessage (hwnd, WM_SETFONT, (WPARAM) hFont, TRUE) работать с элементами управления VCL?
Я попытался использовать CreateFont () и SendMessage (.. WM_SETFONT ..) с RUSSIAN_CHARSET и шрифтом кириллицы. Это, кажется, не имеет никакого эффекта,
он сохраняет шрифт, который был установлен для элемента управления в форме во время разработки
(даже ANSI_CHARSET и стандартное лицо шрифта, установленного в Windows, не влияют на шрифт элементов управления), поэтому я искал подтверждение того, что мне не придется изменять шрифт элементов управления, или скажите мне какой-нибудь метод VCL для установки всех параметров. контролирует настройки шрифта во время выполнения.