更改菜单项的文本

Change Text of an Menu Item

本文关键字:文本 菜单项      更新时间:2023-10-16

我试图改变与winAPI创建的菜单项的文本。我尝试如下:

HMENU menu = LoadMenu(_hInstance, MAKEINTRESOURCE(IDR_MENU1)); //getting the Menu
LPWSTR test = L"test";
MENUITEMINFO mii{ sizeof(MENUITEMINFO) };
if (!GetMenuItemInfo(menu, ID_USER_NAME, false, &mii))
{
    return ; // not getting an error here
}
mii.fMask = MIIM_TYPE; // tried with MIIM_TYPE and MIIM_STRING
mii.fType = MFT_STRING;
mii.dwTypeData = test;  
if (!SetMenuItemInfo(menu, ID_USER_NAME, false, &mii))
{
    return; // no error here either
}
DrawMenuBar(_hWnd);

但是它不起作用它也没有给出错误,所以我想我只是忘记了什么?

您需要获取窗口上显示的当前菜单的句柄并对其进行修改,而不是使用LoadMenu()加载菜单。