您的位置:首页 > 其它

VC INI文件实现多语言版本

2017-06-12 15:05 232 查看
参考:

VC开发多语言界面 多种方法(很简单) 有源码

VC2008以资源形式实现多语言版本

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);

源码:
http://download.csdn.net/detail/greless/9868112
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: