如何更改AfxMessageBox中的语言?

时间:2013-06-18 03:55:32

标签: c++ winapi localization mfc messagebox

我有一个使用AfxMessageBox显示消息框的MFC应用程序。应用程序本身允许最终用户更改用户界面语言。在内部它是通过使用LCID(或FindResourceEx API)加载资源来实现的。)我的问题是我似乎无法使AfxMessageBox采取LCID来改变OK,取消按钮等语言。这也是影响文件和文件夹打开对话框窗口。

任何想法如何做到这一点?

PS。这种方法必须在Windows XP及更高版本下运行。

1 个答案:

答案 0 :(得分:2)

根据this SO article,没有标准函数,有一个CodeProject文章“Localizing System MessageBox”的链接,带有DLL的源代码(它在c#中,但看起来很简单,可以重写在C ++中)它使用Windows Hook,以便您可以为MessageBox按钮提供自己的文本;在同一篇文章的讨论部分,甚至有sizing buttons to the text的建议。