2012-12-01 66 views
0

我使用TrackPopupMenu API从C++代码显示上下文菜单。每个菜单项都包含一个尺寸为24x24像素的位图。新增致电:如何调整TrackPopupMenu显示的上下文菜单的大小?

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中有一个较长的文本一些菜单项获得正确的切断。所以,我想知道,在显示菜单之前,有没有办法增加菜单的宽度?

回答

0

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

+0

谢谢。所有者绘制的问题是,我必须画出所有东西,这对于现代UI来说并不那么容易。 – c00000fd