我用VC做多语言,通过读ini文件实现
比如,一个“确定”按钮
#define IDC_OK 1014
ini文件中,我可以增加
IDC_OK=确定
或
IDC_OK=OK
然后就可以通过这个函数来取需要语言的文字:
GetPrivateProfileString(section,"ID_OK","确定",m_value,sizeof(m_value),m_fileName)
如果有另一个“取消”按钮,
#define IDC_CANCEL 1015
我还需要
GetPrivateProfileString(section,"ID_CANCEL","取消",m_value,sizeof(m_value),m_fileName)
来取它的值。
如果我的对话框有20个控件,我就得写20条语句了。
有没有办法,让一个对话框的所有控件,都通过以下形式自动的转换:
GetPrivateProfileString(section,key,defaultValue,m_value,sizeof(m_value),m_fileName)
而不需要一个一个的转?
对话框中控件的遍历,可以用以下循环,但得到的控件pWnd后,怎么得到它的IDC_XXX字符串呢?
CWnd *pFirstWnd = pWnd->GetNextDlgTabItem( NULL, false);
CWnd *pWnd = pFirstWnd;
while(pWnd != NULL)
{
pWnd = pWnd->GetNextDlgTabItem(pWnd, false);
if(pWnd == pFirstWnd)
break;
}
posted on 2009-09-08 23:59
游子 阅读(110)
评论(0) 编辑 收藏 引用