VS2010下怎样编写支持多国语言的程序?
我做个几个语言包的dll,我的程序模式在2010下编写的。
用下面的代码替换语言包
if (NULL != m_hRes)
{
::AfxFreeLibrary(m_hRes);
}
m_hRes = ::AfxLoadLibrary(_T("TK_CHN.dll"));
if(m_hRes)
{
::AfxSetResourceHandle(m_hRes);
LoadMenu();
}
void CMainFrame::LoadMenu()
{
if(NULL != m_pmenu)
{
delete m_pmenu;
}
m_pmenu = new CMenu();
m_pmenu->LoadMenu(IDR_MAINFRAME);
m_wndMenuBar.CreateFromMenu(m_pmenu->GetSafeHmenu(), TRUE, TRUE);
}
可以替换成功,但当我打开一个子窗体时,菜单栏会变回以前的语言,因为我的子窗体在创建时已经和开始的菜单关联上了
m_pTempPic = new CMultiDocTemplate(IDR_MAINFRAME,
RUNTIME_CLASS(CTKToolBoxDoc),
RUNTIME_CLASS(CPictureFrame), // 自定义 MDI 子框架
RUNTIME_CLASS(CPictureView));
if (!m_pTempPic)
return FALSE;
AddDocTemplate(m_pTempPic);
这个该怎么解决呢?或者2010下怎么实现替换语言包呢?谢谢!