VC INI文件实现多语言版本

来源:互联网 发布:linux口袋书 编辑:程序博客网 时间:2024/06/12 00:24

参考:

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

原创粉丝点击