2012-12-01 65 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