大家早上好,
我创建了一个管理多语言的应用程序。当我动态更改应用程序的默认语言时,除了一个组件之外,不同图形组件的所有文本都发生了很好的变化。不知道为什么?
我尝试使用这些行来修改菜单标题的文本,但只有当我将鼠标放在该菜单上时它才会发生变化。
MENUITEMINFO info;
info.cbSize = sizeof(MENUITEMINFO);
info.fMask = MIIM_ID;
VERIFY(AfxGetMainWnd()->GetMenu()->GetMenuItemInfoA(0, &info, TRUE));
AfxGetMainWnd()->GetMenu()->ModifyMenuA(0, MF_STRING | MF_BYPOSITION, info.wID, theApp.vattingTranslation.GetDescription(256).c_str());
为什么它不自动刷新我的菜单项“Système”?
提前致谢
最佳答案
您需要调用DrawMenuBar之后按照 ModifyMenu 中的指定执行函数文档:
The application must call the DrawMenuBar function whenever a menu changes, whether the menu is in a displayed window.
关于C++ - MFC - 更改 CMenu 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46159374/