MFC国际化与多语言(二)MessageBox

版权声明:原创博文,转载请注明出处! https://blog.csdn.net/sunriver2000/article/details/88796151

你有你的路,我有我的路。至于适当的路,正确的路和唯一的路,这样的路并不存在。——尼采

环境

系统:win10 x64

VS版本:VS2010 旗舰版

MessgeBoxEx()

MFC国际化与多语言(一)基于DIALOG 介绍了如何对MFC程序中自定义资源进行国际化的问题。然而,如何对开发环境提供的对话框(例如MessageBox)进行国际化仍然是个问题。

查看MSDN,我们找到了API函数MessageBoxEx()。

下面先看一下该函数的定义。

int MessageBoxExA(
    HWND   hWnd,
    LPCSTR lpText,
    LPCSTR lpCaption,
    UINT   uType,
    WORD   wLanguageId
);

第五个参数wLanguageId可以用来设定对话框所采用的语言。一般使用MAKELANGID宏来初始化这个参数,下面是MAKELANGID的用法。

WORD MAKELANGID(
    USHORT usPrimaryLanguage,
    USHORT usSubLanguage
);

例子

MessageBoxEx(NULL, strRunningWarning, strAlert, MB_OK, theApp.m_wLanguageId);

if (MessageBoxEx(NULL, strExitWarning, strAlert, MB_YESNO | MB_ICONSTOP, theApp.m_wLanguageId) == IDNO)
{
    return;
}

效果

猜你喜欢

转载自blog.csdn.net/sunriver2000/article/details/88796151