'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 |