Здравствуйте Paata1, Вы писали:
P>Хочу создать popup меню с иконками вроде в Word. У каждого item есть свои icon. P>Например P>(icon1 — text1) P>(icon2 — text2)
P>Как создать?
SetMenuItemBitmaps
The SetMenuItemBitmaps function associates the specified
bitmap with a menu item. Whether the menu item is
selected or clear, the system displays the appropriate
bitmap next to the menu item.
BOOL SetMenuItemBitmaps(
HMENU hMenu, // handle to menu
UINT uPosition, // menu item
UINT uFlags, // options
HBITMAP hBitmapUnchecked, // handle to unchecked bitmap
HBITMAP hBitmapChecked // handle to checked bitmap
);
[skip]
The SetMenuItemBitmaps function associates the specified
bitmap with a menu item. Whether the menu item is
selected or clear, the system displays the appropriate
bitmap next to the menu item.
Если продолжить, то
"The checked and unchecked bitmaps should be monochrome", однако..
На codeguru лежало приличное меню с картинками, умеет картинки грузить из тулбара (POPUP или обычное). Попробуй поискать по "BCMenu"..
Здравствуйте bnk, Вы писали:
bnk>На codeguru лежало приличное меню с картинками, умеет картинки грузить из тулбара (POPUP или обычное). Попробуй поискать по "BCMenu"..
Угу, только оно для MFC, а человек спрашивал про WinAPI...
Здравствуйте Paata1, Вы писали:
P>Хочу создать popup меню с иконками вроде в Word. У каждого item есть свои icon. P>Например P>(icon1 — text1) P>(icon2 — text2)
P>Как создать?
Посмотри в Microsoft Systems Journal
за 1997 серию статей Paul DiLascia про CoolMenu.
Здравствуйте Paata1, Вы писали:
P>Хочу создать popup меню с иконками вроде в Word. У каждого item есть свои icon.
Если надо именно icons отображать то кажется так просто не получится, надо делать
ModifyMenu(.... MF_OWNERDRAW...hYouIcon) для того итема у которого надо отображать иконку. И на сообщение WM_OWNERDRAW прорисовывать все состояния itema меню.
С этим сообщением в lParam тебе придёт указатель на структуру DRAWITEMSTRUCT.
В структуре DRAWITEMSTRUCT есть поле itemData , туда можно положить разные свои данные , к примеру хэндл иконки которую тебе надо отрисовывать.
На сообщение WM_MEASUREITEM надо установишь размеры итема.