我使用 TrackPopupMenu API 从 C++ 代码显示上下文菜单。每个菜单项都包含一个 24x24 像素大小的位图。通过调用添加:
MENUITEMINFO mii = {0};
mii.cbSize = sizeof(mii);
mii.fMask = MIIM_BITMAP;
mii.hbmpItem = hBmpForItem;
SetMenuItemInfo(hMenu, ID_1_MENUITEMID, FALSE, &mii);
这在 Windows Vista/7 上工作得很好,但在 Windows XP 上,一些带有较长文本的菜单项在右侧被截断。所以,我想知道,有没有办法在菜单显示之前增加菜单本身的宽度?