我有一个使用AfxMessageBox显示消息框的MFC应用程序。应用程序本身允许最终用户更改用户界面语言。在内部它是通过使用LCID(或FindResourceEx API)加载资源来实现的。)我的问题是我似乎无法使AfxMessageBox采取LCID来改变OK,取消按钮等语言。这也是影响文件和文件夹打开对话框窗口。
任何想法如何做到这一点?
PS。这种方法必须在Windows XP及更高版本下运行。
答案 0 :(得分:2)
根据this SO article,没有标准函数,有一个CodeProject文章“Localizing System MessageBox”的链接,带有DLL的源代码(它在c#中,但看起来很简单,可以重写在C ++中)它使用Windows Hook,以便您可以为MessageBox按钮提供自己的文本;在同一篇文章的讨论部分,甚至有sizing buttons to the text的建议。