参考:
方法一:通过控件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);
源码: