VC++中模块支持多语言的方法

BOOL CRMApp::SetLangType()
{
	TCHAR szPath[1024] = { 0 };
	TCHAR szFileName[1024] = { 0 };
	GetModuleFileName(NULL, szPath, 1024);
	*(_tcsrchr(szPath, _T('\\'))+1) = NULL;

	_stprintf_s(szFileName,MAX_PATH, _T("%s%s"), szPath, _T("UserCfg.ini"));

	int nLng = ::GetPrivateProfileInt(_T("SYS_SET"),_T("LangType"),0,szFileName);
	switch( nLng )
	{
	case 0:
		m_LangID = 0x804;//中文简体
		break;
	case 1:
		m_LangID = 0x409;//美式英语
		break;
	case 2:
		m_LangID = 0x404;//中文繁体
		break;
	default:
		m_LangID = 0x804;//中文简体
		break;
	}

	CString str;
#ifdef _WIN64
	str.Format(_T("RightCtrl%x_x64.DLL"),m_LangID);
#else
	str.Format(_T("RightCtrl%x.DLL"),m_LangID);
#endif
	m_hLangDLL = LoadLibrary(str);
	if ( m_hLangDLL )
		AfxSetResourceHandle(m_hLangDLL); 
	else
		m_hLangDLL = AfxGetResourceHandle();
	return TRUE;
}

RightCtrl%x.DLL为额外增加的项目工程生成的资源文件DLL,可通过复制粘贴.rc文件,注意在资源中要切换对应的语言类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值