如何动态修改菜单上的文本

finalwish 2003-10-17 12:49:53
例如在汉化时,如何修改所有的菜单上的文本。
不能用不同的菜单资源替换。在我的这个程序里不吃这一套。我也是接别人程序来做的。
...全文
114 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
SeainBlue 2003-10-17
  • 打赏
  • 举报
回复

CMenu* pMenu = AfxGetApp()->GetMainWnd()->GetMenu();
for(int i = 0 ; i<pMenu->GetMenuItemCount( ) ; i++)
{
CMenu* pSubMenu = pMenu->GetSubMenu(0);
for(int j =0 ; j < pMenu->GetMenuItemCount( ) ; j++)
pSubMenu->ModifyMenu(j, MF_BYPOSITION | MF_STRING, pSubMenu->GetMenuItemID(j), text[i][j]);
}

其中,text中存放需要修改的文本
孤必有邻 2003-10-17
  • 打赏
  • 举报
回复
我的一段代码(如果能把ID和文本读出来,就更好了,可惜我没做)
void CHouseView::OnAppStart()
{
CString text;
CMenu * pMenu=GetParent()->GetMenu();
pMenu=pMenu->GetSubMenu(0);
pMenu->GetMenuString(0,text,MF_BYPOSITION);
if(text=="启动(&S)")
{
WinExec("J:\\Join.exe",SW_SHOW);
pMenu->ModifyMenu(0,MF_BYPOSITION,ID_APP_START,"停止(&S)");
}
else
{
pMenu->ModifyMenu(0,MF_BYPOSITION,ID_APP_START,"启动(&S)");
}
}

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧