前面,我们已经讲了怎样在菜单里添加图片并显示相应的文字.这里,我们接着讲一种简单的往菜单里加载图片的方法
首先,加载相关的图片
HBITMAP hApple,hOrange;
hApple=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP_APPLE));
hOrange=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP_ORANGE));
创建新菜单
HMENU MenuBar,PopupMenu;
MenuBar=CreateMenu();
PopupMenu=CreatePopupMenu();
这时候,我们就需要用到AppendMenu这个函数了,它可以往下拉菜单,子菜单,快捷菜单里添加我们需要的内容
BOOL AppendMenu(
HMENU hMenu, //需要往哪个菜单添加的句柄
UINT uFlags, //所添加菜单项的标志,MF_BITMAP,MF_CHECKED,MF_STRING等
UINT_PTR uIDNewItem,//如果所添加的是MF_STRING,这个就需要它的ID,如果是MF_POPUP,就是弹出菜单的句柄
LPCTSTR lpNewItem //如果uFlags是MF_BITMAP,则这里需要该图片的句柄
);
注意,我们在设置uFlags的时候,以下这些组合不能同时在一起
MF_BITMAP, MF_STRING, and MF_OWNERDRAW
MF_CHECKED and MF_UNCHECKED
MF_DISABLED, MF_ENABLED, and MF_GRAYED
MF_MENUBARBREAK and MF_MENUBREAK
AppendMenu(MenuBar,MF_STRING | MF_POPUP,(UINT_PTR)PopupMenu,L"My Menu");
AppendMenu(PopupMenu,MF_BITMAP ,IDM_APPLE,(LPCTSTR)hApple);
AppendMenu(PopupMenu,MF_BITMAP ,IDM_ORANGE,(LPCTSTR)hOrange);
最后,设置我们的菜单到菜单栏
SetMenu(hWnd,MenuBar);