VC INI文件实现多语言版本

参考:


方法一:通过控件ID设置,快速但缺少标题栏,单独设置
 CWnd *pCtrl = GetWindow(GW_CHILD);
	while (pCtrl != NULL)
	{
		UINT ctrlID = pCtrl->GetDlgCtrlID();
		//	setControlCaption(pCtrl,ctrlID);
		CString str_id, str_text;
		str_id.Format("%u", ctrlID);
		GetPrivateProfileString("Form", str_id, "", str_text.GetBuffer(MAX_PATH), MAX_PATH, ".//ItemCN.ini");
		if ("" != str_text)
			GetDlgItem(ctrlID)->SetWindowText(str_text);

		pCtrl = pCtrl->GetNextWindow();
	}

//枚举对话框中所有组件->start,调试用
//枚举对话框中所有组件->start,调试用
	/*
	CWnd *pCtrl = GetWindow(GW_CHILD);
	while (pCtrl != NULL)
	{
		UINT ctrlID = pCtrl->GetDlgCtrlID();
		//	setControlCaption(pCtrl,ctrlID);
		CString str_id, str_text;
		str_id.Format("%u", ctrlID);
		GetDlgItem(ctrlID)->GetWindowText(str_text);
		WritePrivateProfileString("Form", str_id, str_text, ".//Item.ini");
		pCtrl = pCtrl->GetNextWindow();
	}
	*/
	//枚举对话框中所有组件-> end


方法二:ini函数读写,需要为每个控件翻译
TIniFile IniFile;
	IniFile.InitFile(_T(".//Chinese.ini"));
	CString str;
	str=IniFile.ReadString(_T("Translations"), _T("GALAXY"), _T(""));
	SetWindowText(str);
	str = IniFile.ReadString(_T("Translations"), _T("Button1"), _T(" "));
	GetDlgItem(IDC_BUTTON1)->SetWindowText(str);
	str = IniFile.ReadString(_T("Translations"), _T("this is static"), _T(" "));
	GetDlgItem(IDC_STATIC1)->SetWindowText(str);
源码:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值