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 では、長いテキストを含む一部のメニュー項目が右側で切れてしまいます。それで、表示される前にメニュー自体の幅を広げる方法はありますか?