首页 > 解决方案 > 在 C++ 中更改 MFC 菜单弹出文本

问题描述

我正在编写一个 MFC C++ 应用程序。我的主窗口中有以下菜单。我正在尝试通过 C++ 更改标题为“&File”的 FIRST POPUP 项目的文本。我怎样才能做到这一点?

IDR_ISOPROTYPE MENU
BEGIN
    POPUP "&File"
    BEGIN
        POPUP "second"
        BEGIN
            MENUITEM "third",                   ID_33280
        END
        MENUITEM "&Open...\tCtrl+O",            ID_FILE_OPEN
        MENUITEM "Rever&t",                     ID_FILE_REVERT

标签: visual-c++mfc

解决方案


首先,获取菜单的句柄,例如

HMENU hMenu = GetMenu(AfxGetApp()->m_pMainWnd->GetSafeHwnd());

然后,调用 ModifyMenu 函数

ModifyMenu(hMenu, 0, MF_BYPOSITION | MF_STRING, 0, "New&File");

如果需要修改子菜单的文字,仍然可以使用 ModifyMenu 函数,但使用子菜单句柄

HMENU hSubMenu = GetSubMenu(hMenu, 1);

推荐阅读