Я отображаю контекстное меню из кода C ++ с помощью API TrackPopupMenu. Каждый пункт меню содержит растровое изображение размером 24×24 пикселя. Добавлено по телефону:
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
Решение
Создайте свои пункты меню как Владелец нарисованные, тогда ваше окно владельца меню обработает WM_MEASUREITEM сообщение, чтобы вы могли указать соответствующие ширины по мере необходимости.
0
Другие решения
Других решений пока нет …