VB 版 (精华区)
open: Permission denied
发信人: zxfsnow (别怕我伤心), 信区: VB
标 题: 在菜单上增加图标
发信站: 哈工大紫丁香 (2000年06月01日19:34:41 星期四), 转信
发信人: hy ( 云间堡主), 信区: VB
标 题: 在菜单上增加图标
发信站: 饮水思源站 (Sat Jul 17 21:35:36 1999) , 站内信件
声明:
Declare Function GetMenu Lib "user32"?(ByVal hwnd As Long) As Long
Declare Function GetSubMenu Lib "user32"?(ByVal hMenu As Long, ByVal nPos
As Long) As Long
Declare Function GetMenuItemID Lib "user32"?(ByVal hMenu As Long, ByVal n
Pos As Long) As Long
Declare Function SetMenuItemBitmaps Lib "user32"?(ByVal hMenu As Long, By
Val nPosition As Long,?ByVal wFlags As Long, ByVal hBitmapUnchecked As Long,
?ByVal hBitmapChecked As Long) As Long
Public Const MF_BITMAP = &H4&
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
Declare Function GetMenuItemCount Lib "user32"?(ByVal hMenu As Long) As L
ong
Declare Function GetMenuItemInfo Lib "user32"?Alias "GetMenuItemInfoA" (B
yVal hMenu As Long,?ByVal un As Long, ByVal b As Boolean,?lpMenuItemInfo As
MENUITEMINFO) As Boolean
Public Const MIIM_ID = &H2
Public Const MIIM_TYPE = &H10
Public Const MFT_STRING = &H0&
使用: 在 Form1 中增加一个 PictureBox1, AutoSize 为 True, 放一个小
Bmp (不是 Icon!推荐 13*13)。
Private Sub Command1_Click()
'Get the menuhandle of your app
hMenu& = GetMenu(Form1.hwnd)
'Get the handle of the first submenu (Hello)
hSubMenu& = GetSubMenu(hMenu&, 0)
'Get the menuId of the first entry (Bitmap)
hID& = GetMenuItemID(hSubMenu&, 0)
'Add the bitmap
SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, Picture1.Picture, Picture1.Pi
cture
'You can add two bitmaps to a menuentry
'One for the checked and one for the unchecked
'state.
End Sub
--
--
以科计为本,以产业报国!
超越自我,飞跃无限!
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.235.249]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.591毫秒