如何调整TrackPopupMenu显示的上下文菜单的大小?

时间:2012-12-01 09:46:19

标签: c++ winapi windows-xp contextmenu

我使用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上,一些文本较长的菜单项会在右侧被截断。所以,我想知道,有没有办法在显示之前增加菜单本身的宽度?

1 个答案:

答案 0 :(得分:0)

将您的菜单项设为owner-drawn,然后让您的菜单所有者窗口处理WM_MEASUREITEM消息,以便根据需要指定适当的宽度。