我有一个的Borland C ++生成器应用程式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方法设置所有控制在运行时的字体设置。

没有正确的解决方案

其他提示

有没有必要重新发明自行车。你为什么不使用其提供与Borland C ++ Builder的集成翻译环境工具?有一个向导,帮助您翻译,并将使其中将包含在应用程序中的所有文本字符串转换的一种特殊的资源文件。然后程序会检查系统语言和菱语言资源文件在启动时,并会自动使用适当的语言。检查C ++ Builder帮助系统指数 - “综合翻译环境(ITE)”进行更详细的过程描述。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top