【问题标题】:C++ - MFC - Change text of a CMenuC++ - MFC - 更改 CMenu 的文本
【发布时间】:2017-09-11 23:41:33
【问题描述】:

大家早上好,

我创建了一个管理多语言的应用程序。当我动态更改应用程序的默认语言时,除了一个组件外,不同图形组件的所有文本都发生了很好的变化。不知道为什么?

我尝试使用这些行来修改菜单标题的文本,但只有当我将鼠标放在此菜单上时它才会改变。

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());

为什么它不自动刷新我的菜单项“系统”?

提前致谢

【问题讨论】:

  • 你用哪个版本的VS创建这个应用?

标签: c++ mfc


【解决方案1】:

之后您需要按照ModifyMenu 文档中的说明调用DrawMenuBar 函数:

每当菜单出现时,应用程序必须调用 DrawMenuBar 函数 改变,菜单是否在显示的窗口中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 2010-12-10
    • 2021-02-18
    • 1970-01-01
    相关资源
    最近更新 更多