HMENU m_hMenu=::GetMenu(this->m_hWnd);
m_cn.Attach(m_hMenu);
m_en.LoadMenu("IDR_MENU_EN");
在单文档视图应用程序中上面的代码是可以实现菜单多语言切换功能的,可是我的程序是基于对话框的应用程序,现在弄了两个菜单IDR_MENU_EN IDR_MENU_CN(对话框面板属性那里选的是它)执行SetMenu(&m_en);菜单就变没了,执行SetMenu(&m_cn);又回来了哪位能说下,怎么样搞才能实现多语言切换
m_cn.Attach(m_hMenu);
m_en.LoadMenu("IDR_MENU_EN");
在单文档视图应用程序中上面的代码是可以实现菜单多语言切换功能的,可是我的程序是基于对话框的应用程序,现在弄了两个菜单IDR_MENU_EN IDR_MENU_CN(对话框面板属性那里选的是它)执行SetMenu(&m_en);菜单就变没了,执行SetMenu(&m_cn);又回来了哪位能说下,怎么样搞才能实现多语言切换
解决方案 »
- atl中createwindow创建了一个动态listbox,添加项的问题
- 令人抓狂的问题!
- 请教各位一个关于全局键盘钩子的简单问题
- 请问如何向线程函数传递结构体指针?
- 我是菜鸟,向大家请教一个简单问题
- CInternetFile::Seek抛出"操作成功完成"的异常, 怎么办?
- 关于Form的问题
- 请问在CPropertyPageEx的向导页中, 如何让“取消”不可用??不能点!how do?thanks!
- 高分收购: 请问有没有windows xp embeded 的开发工具.价格大概多少 !??????????????
- http://www.csdn.net/develop/article/6032.shtm中的例子在VC中怎么实现?
- 窗口保持在最前显示,??
- 请问如何控制CListctrl的项目缩进?
在.h文件声明CMenu m_menu;BOOL bMenu;
在构造函数中bMenu = TRUE;
void CXXXDlg::OnChangebtn()
{
// TODO: Add your control notification handler code here
m_menu.Detach();
if(!bMenu)
m_menu.LoadMenu(IDR_MAINFRAME);
else
m_menu.LoadMenu(IDR_MENU1);
SetMenu(NULL);
SetMenu(&m_menu); bMenu =! bMenu;
}在对话框中设置默认的菜单为IDR_MAINFRAME,搞定!
我就是用对话框做的,这里只设置了一个CMenu 的一个m_menu对象,自然
要用m_menu.Detach(),不然下次加载的时候会出错。
不是你声明的m_en和m_cn两个
不是非要两个对象来加载菜单的。而且我做的只要点击按钮,菜单就可以在对话框上切换啦,
怎么可能不行呢?
我没有IDR_MAINFRAME我也不清楚哪里没弄对,感觉
HMENU m_hMenu=::GetMenu(this->m_hWnd);
m_cn.Attach(m_hMenu); 这样后m_cn才有用但重新加载m_cn.LoadMenu("IDR_MENU_EN");没的反应我的油箱 [email protected]谢谢