Private Declare Function GetMenu Lib "user32" _
(ByVal hwnd As Long) As Long
Private Declare Function SetMenuItemBitmaps Lib "user32" _
(ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, _
ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
Private Declare Function GetSubMenu Lib "user32" _
(ByVal hMenu As Long, ByVal nPos As Long) As Long
Const MF_BYPOSITION = &H400&Private Sub bmxx_Click()
FrmSetDetails.Show
End SubPrivate Sub dxgl_Click()
FrmSetWage.Show
End SubPrivate Sub Form_Load()'显示位图菜单部分代码
'Dim mHandle As Long, lRet As Long, sHandle As Long, sHandle2 As Long
Dim mHandle As Long, lRect As Long, sHandle As Long, sHandle2 As Long
mHandle = GetMenu(hwnd)
sHandle = GetSubMenu(mHandle, 0)
lRet = SetMenuItemBitmaps(sHandle, 0, MF_BYPOSITION, Image1.Picture, Image1.Picture)
lRet = SetMenuItemBitmaps(sHandle, 1, MF_BYPOSITION, Image1.Picture, Image1.Picture)
'lRet = SetMenuItemBitmaps(sHandle, 3, MF_BYPOSITION, Img.ListImages(1), Img.ListImages(1))
'lRet = SetMenuItemBitmaps(sHandle, 4, MF_BYPOSITION, Img.ListImages(1), Img.ListImages(1))
'显示位图菜单部分代码End Sub
调试结果没错,但是位图就是不出来,我晕了,大家帮忙啊!
(ByVal hwnd As Long) As Long
Private Declare Function SetMenuItemBitmaps Lib "user32" _
(ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, _
ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
Private Declare Function GetSubMenu Lib "user32" _
(ByVal hMenu As Long, ByVal nPos As Long) As Long
Const MF_BYPOSITION = &H400&Private Sub bmxx_Click()
FrmSetDetails.Show
End SubPrivate Sub dxgl_Click()
FrmSetWage.Show
End SubPrivate Sub Form_Load()'显示位图菜单部分代码
'Dim mHandle As Long, lRet As Long, sHandle As Long, sHandle2 As Long
Dim mHandle As Long, lRect As Long, sHandle As Long, sHandle2 As Long
mHandle = GetMenu(hwnd)
sHandle = GetSubMenu(mHandle, 0)
lRet = SetMenuItemBitmaps(sHandle, 0, MF_BYPOSITION, Image1.Picture, Image1.Picture)
lRet = SetMenuItemBitmaps(sHandle, 1, MF_BYPOSITION, Image1.Picture, Image1.Picture)
'lRet = SetMenuItemBitmaps(sHandle, 3, MF_BYPOSITION, Img.ListImages(1), Img.ListImages(1))
'lRet = SetMenuItemBitmaps(sHandle, 4, MF_BYPOSITION, Img.ListImages(1), Img.ListImages(1))
'显示位图菜单部分代码End Sub
调试结果没错,但是位图就是不出来,我晕了,大家帮忙啊!
lRet = SetMenuItemBitmaps(sHandle, 1, MF_BYPOSITION, Image1.Picture, Image1.Picture)
'lRet = SetMenuItemBitmaps(sHandle, 3, MF_BYPOSITION, Img.ListImages(1), Img.ListImages(1))
'lRet = SetMenuItemBitmaps(sHandle, 4, MF_BYPOSITION, Img.ListImages(1), 你的image和imagelist里面有图片吗
错:mHandle = GetMenu(hwnd)
改:mHandle = GetMenu(Me.hwnd)
还有就是顶级(1级)菜单好像没有办法设置图片
2级就可以了!
或者,SetMenuItemInfo 不知行不行。