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