【发布时间】:2012-09-30 18:11:31
【问题描述】:
可能重复:
InsertMenu/AppendMenu - How to add Icons to menu and submenus using C++ and win32
你好,我有一个 c++ 菜单,这里是它的代码
HMENU hMenu = CreateMenu();
HMENU hFileMenu = CreatePopupMenu;
HMENU HFileOpen = CreateMenu;
AppendMenu(hFileMenu, MF_STRING, (UINT)hFileOpen, "Open");
AppendMenu(hMenu, MF_STRING | MF_POPUP, (UINT)hFileMenu, "File");
SetMenu(hwnd,hMenu);
我一直在寻找整个互联网,但找不到有关如何为菜单项制作位图的教程。 我想为 hFileOpen 添加一个位图。 我该怎么做?
【问题讨论】:
-
除非 MS 添加了该功能,而我完全错过了它,菜单项上的图标是/完全是所有者绘制的。 IE。您必须自己绘制菜单项。自从我这样做以来已经有一段时间了,所以可能已经改变了。
-
你可以使用函数而不是资源。只需从
CreateMenu开始,然后使用AppendMenu添加即可。 -
看看那个。他们确实添加了它。已经很久了。 SetMenuItemBitmaps ftw(以及其他方式)。
-
指定
MENUITEMINFO的hbmpItem字段。在 Vista 及更高版本上,您可以使用 PARGB32 位图来获得 alpha 混合字形。