C++ 多语言切换

如果设置UI资源文件非重点不做介绍。

设置英文版接口:

SetThreadUILanguage(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));

此时如果操作系统的语言选择的是简体中文,那么掉系统的AfxMessageBox或是MessageBox,出现的按钮仍旧显示中文,解决方法:

接口统一替换成类似如下这种:

CString strTemp; strTemp.LoadString(IDS_CLOSE_APP);
CString strTips; strTips.LoadString(IDS_TIPS);
if(IDYES != MessageBoxEx(NULL, strTemp, strTips, MB_YESNO | MB_DEFBUTTON2 | MB_ICONINFORMATION, (WORD)(GetThreadUILanguage())))
{
	return ;
}

效果图:

猜你喜欢

转载自blog.csdn.net/u012156872/article/details/121396735
今日推荐