-
-
如何让对话框中的控件支持不同语言的操作系统?
-
发表于:
2010-3-16 21:43
3313
-
我用汇编+Win32API写了一个文本编辑器。以对话框为主体。
编辑器中对GBK字符串的处理方法是使用MultiByteToWideChar转换成Unicode字符串之后,再使用SendDlgItemMessageW将其添加到ListBox或者Edit Control中。
在中文系统下文本显示正常。
但是我现在使用了日文语言包外加设置成日区,现在再运行我的程序的话,日文可以在编辑器中正常显示,但是中文的一些字会变成问号,包括TextOutW也存在这种问题。比如“打?(开)文件”“快捷??(键说)明”。
调试发现MultiByteToWideChar函数运行正常。问题发生在SendDlgItemMessageW中。但是调试没能发现问题……特来请教。
还有就是在另一种状况下(使用Applocale模拟日区)MultiByteToWideChar函数执行错误,也就是说本来正常的GBK字符串转换成Unicode后是一串乱码。而函数参数和上面完全相同,这又是什么原因呢?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课