| 'API函数声明 |
| Option Explicit |
| Private Declare Function GetMenu Lib "user32"(Byval hwnd As Long) _ |
| As Long '取得窗口的菜单句柄,hwnd是窗口的句柄 |
| Private Declare Function GetSubMenu Lib "user32"(Byval hMenu As _ |
| Long,Byval nPos As Long) As Long '取得子菜单句柄,nPos是菜单的位置 |
| Private Declare Function SetMenuItemBitmaps Lib "user32"(Byval _ |
| hMenu As Long,Byval nPos As Long,Byval wFlags As Long,Byval _ |
| hBitUnchecked As Long,Byval hBitChecked As Long) As Long |
| '为菜单设置相应的图形 |
| Const MF_BITMAP=&H400& |
| '用image或picture或imagelist控件装入图形(必须是bmp格式),16*16左右 |
| '建好菜单 |
| Private Sub Form_Load() |
| Dim hMenu,hSubMenu1,hSubMenu2 As Long |
| hMenu=GetMenu(me.hwnd) |
| hSubMenu1=GetSubMenu(hMenu,0) '取得第一项菜单的子菜单句柄 |
| SetMenuItemBitmaps hSubMenu1,0,MF_BITMAP,imagelist1.listimages(1) _ |
| .picture,imagelist1.listimages(1).picture |
| '为hSubMenu1的第一项设置图形,假设用imagelist控件装入图形 |
| SetMenuItemBitmaps hSubMenu1,1,MF_BITMAP,imagelist1.listimages(2) _ |
| .picture,imagelist1.listimages(2).picture |
| '设置第二项,同样你还可以设置第xx项。 |
| hSubMenu2=GetSubMenu(hMenu,1) '取得第二项菜单的子菜单句柄 |
| '也可用SetMenuItemBitmaps来设置它的图形,只更改hSubMenu1为hSubMenu2 |
| '即可 |
| End Sub |
