private sub command1_click()
dim i as interger
dim hmenu as long
dim hsubmenu as long
dim menuid as long   hmenu=getmenu(me.hwnd)
   hsubmenu=getsubmenu(hmenu,0)
   for i=1 to 4
       menuid=getmenuitemid(hsubmenu,i-1)
       setmenuitembitmaps hmenu,menuid,mf_bitmap,_img.listimages(i).picture,img.listimages(i).picture
   netx
end sub创建模块:
option explict
Declare Function GetMenu Lib "user32" Alias "GetMenu" (ByVal hwnd As Long) As Long
Declare Function GetSubMenu Lib "user32" Alias "GetSubMenu" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Declare Function GetMenuItemID Lib "user32" Alias "GetMenuItemID" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Declare Function SetMenuItemBitmaps Lib "user32" Alias "SetMenuItemBitmaps" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
Public const mf_bitmap=&h4&

解决方案 »

  1.   

    我以前用过,不过暂时记不清楚啦!
    不过我记得要用菜单API!SendMessage 和SetMenuItemBitmaps API你自已找找吧!
    然后用picturebox装入图标
      

  2.   

    上面的方法不好,我试过。最好的方法是自己处理Windows消息:WM_MEASUREITEM;WM_DRAWITEM,在WM_DRAWITEM中想怎么画菜单就怎么画。我的软件《决战单词》http://jmtk.xiloo.com/就是这样做的,菜单很美观。如同《金山词霸》和《金山毒霸》一样的菜单。
      

  3.   

    做成那样的菜单有两种方法(其他的方法实现的效果太次):
    一:自绘菜单:
    我编的自绘菜单:http://zyl910vb.51.net/vb/wdzp/DrawMenu-S.htm(有注释!特地为想学自绘菜单的人写的)
    http://zyl910vb.51.net/vb/wdzp/CoolGUI.htm(效果比较好,但没有注释)
    http://zyl910vb.51.net/vb/wdzp/ZXPMenu.htm(XP风格的菜单)(注意把下载后的*.zip.jpg改名成*.zip)二:用窗体模拟菜单:
    http://www.dapha.net/vb/list.asp?id=748
    XP下拉菜单(影子效果)http://www.21code.com/codebase/?pos=down&id=1913
    源码类型: VisualBasic源码-菜单处理   
    上传时间: 2002-02-01  
    下载次数: 1336  
    源码大小: 46 KB 源码评价:       源码简介:
    OFFICE XP风格菜单代码最新版