vb菜单中如何加图标???????????

sl_szk 2004-11-22 10:06:19
vb菜单中如何加图标???????????
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxcc 2004-11-22
  • 打赏
  • 举报
回复
或者有现成的菜单控件,google搜一下!
lxcc 2004-11-22
  • 打赏
  • 举报
回复
'*************************************************************************
'菜单显示图形 所需的函数
Private Declare Function GetMenu Lib "user32" _
() ' (ByVal hwnd As Long) As Long

Private Declare Function GetSubMenu Lib "user32" _
() ' (ByVal hMenu As Long, ByVal nPos 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

Const MF_BYPOSITION = &H400&
'*************************************************************************

Private Sub Form_Load()
'****************************************************************
'设置菜单的图形,ImageX.Picture即为Image控件中的图像
Dim mHandle As Long, lRet As Long
mHandle = GetMenu(hwnd)
sHandle = GetSubMenu(mHandle, 0)
lRet = SetMenuItemBitmaps(sHandle, 0, MF_BYPOSITION, Image1.Picture, Image1.Picture)
'****************************************************************
End Sub
hnzhc 2004-11-22
  • 打赏
  • 举报
回复
有这么麻烦吗
aohan 2004-11-22
  • 打赏
  • 举报
回复
窗体部分,引且四个Picture4
其它路径请自行调整
Private Sub Form_Load()
Picture1.Visible = False
Picture2.Visible = False
Picture3.Visible = False
Picture4.Visible = False
Picture1.AutoSize = True
Picture2.AutoSize = True
Picture3.AutoSize = True
Picture4.AutoSize = True

hMenu& = GetMenu(Form1.hwnd)
'得到窗口中菜单句柄
hSubMenu& = GetSubMenu(hMenu&, 0)
'得到第一个子菜单FILE句柄

hID& = GetMenuItemID(hSubMenu&, 0)
Picture1.Picture = LoadPicture(App.Path + "\New.bmp")
SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, _
Picture1.Picture, Picture1.Picture
'得到FILE第一个菜单的ID

hID& = GetMenuItemID(hSubMenu&, 1)
Picture2.Picture = LoadPicture(App.Path + "\Open.bmp")
SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, _
Picture2.Picture, Picture2.Picture

hID& = GetMenuItemID(hSubMenu&, 2)
Picture3.Picture = LoadPicture(App.Path + "\Save.bmp")
SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, _
Picture3.Picture, Picture3.Picture

hID& = GetMenuItemID(hSubMenu&, 3)
Picture4.Picture = LoadPicture(App.Path + "\Print.bmp")
SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, _
Picture4.Picture, Picture4.Picture
End Sub
aohan 2004-11-22
  • 打赏
  • 举报
回复
模块部分
Public Declare Function GetMenu Lib "user32" _
( _
ByVal hwnd As Long _
) As Long
'-------------------------------------------------------
Public Declare Function GetSubMenu Lib "user32" _
( _
ByVal hMenu As Long, _
ByVal nPos As Long _
) As Long

'-------------------------------------------------------
Public Declare Function GetMenuItemID Lib "user32" _
( _
ByVal hMenu As Long, _
ByVal nPos As Long _
) As Long
'-------------------------------------------------------
Public Declare Function GetMenuItemCount Lib "user32" _
( _
ByVal hMenu As Long _
) As Long
'-------------------------------------------------------
Public Declare Function GetMenuItemInfo Lib "user32" _
Alias "GetMenuItemInfoA" _
( _
ByVal hMenu As Long, ByVal un As Long, _
ByVal b As Boolean, lpMenuItemInfo As MENUITEMINFO _
) As Boolean
Type MENUITEMINFO
cbSize As Long
fMask As Long
fType As Long
fState As Long
wID As Long
hSubMenu As Long
hbmpChecked As Long
hbmpUnchecked As Long
dwItemData As Long
dwTypeData As String
cch As Long
End Type
Public Const MIIM_ID = &H2
Public Const MIIM_TYPE = &H10
Public Const MFT_STRING = &H0&
'-------------------------------------------------------
Public 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
Public Const MF_BITMAP = &H4&
'-------------------------------------------------------

springswallow 2004-11-22
  • 打赏
  • 举报
回复
有类似的控件吧

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧