【发布时间】:2008-11-27 20:45:09
【问题描述】:
我有一个 MFC 应用程序,我想在其中添加国际化支持。该项目配置为使用“多字节字符集”(在我的情况下,“unicode 字符集”不是一个选项)。
现在,如果我将键盘设置为某种外语,我希望 CWnd::OnChar() 函数会向我发送多字节字符,但它似乎并没有那样工作。 OnChar() 函数总是在其 nChar 变量中向我发送一个 1 字节字符。
我以为 _getmbcp() 函数会给我应用程序的当前代码页,但这个函数总是返回 0。
任何建议将不胜感激。
【问题讨论】:
-
出于兴趣,马丁,为什么 Unicode 不是一个选项?政治还是技术?我曾经使用 UnicoWS 库让 Unicode 为 Win9x FWIW 工作。
-
该工具依赖于许多其他甚至不支持 Unicode 的库。更新一切都是可能的,但时间很长。如果有使用多字节的解决方案,我会接受。
-
“多字节字符集”有点像“语言”。哪一个是“那个”?如果应用程序使用多字节字符集,则应用程序将使用运行时有效的任何代码页。 Unicode 避免了这个问题。