【发布时间】:2014-01-01 05:12:45
【问题描述】:
在非 unicode Delphi 中(我已尝试使用 D7 和 D2006):
- 在表单上放置 TRichEdit 并运行应用程序
- 切换到一些“异国情调”的键盘布局(俄语、希腊语等)
- 输入一些内容
在 XP 上,一切都很好,我可以看到正常的俄语字母。但是,在 Win7 上,字符是错误的(来自其他语言的重音字母)。如果我从 MS Word 中复制俄语文本并将其粘贴到 RichEdit 中,它看起来还可以。
我怀疑它与 RichEdit 控件版本有关,但有什么办法可以克服它?如果可能的话,我想避免切换到 TTntRichEdit(它似乎可以正常工作),因为我需要更改大量现有代码。
【问题讨论】:
-
似乎可以在我的 Win7 x64 上与 D5 一起正常工作。但是,如果您在程序运行时切换键盘,应用程序不会检测到它。
-
谢谢梅林,不,我没看过那个。我会努力跟上的。
-
您想在 unicode windows 版本中使用非 unicode 控件,并在俄语中使用 MBCS?你的代码页是什么?您知道 Delphi 7 上的 TRichEdit 控件是 MBCS 版本,而不是 UNICODE 版本,这是最可能导致您的困惑和问题的原因。代码页在 MBCS/AnsiString Delphi 中非常重要。
标签: delphi unicode windows-7 richedit