如何创建含有位图的菜单项 就是在在菜单项中加入位图图形 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 创建位图菜单其实非常简单,可以使用API函数SetMenuItemBitmaps来为菜单项添加位图。调用该函数时需要用到弹出菜单的句柄,以及要添加的位图。 弹出菜单的句柄可以使用API函数GetMenu与GetSubMenu来获得。位图则可以通过在窗体上放置图像框控件来提供。Option ExplicitPrivate Declare Function GetMenu Lib "user32" _ (ByVal hwnd As Long) As LongPrivate Declare Function GetSubMenu Lib "user32" _ (ByVal hMenu As Long, ByVal nPos As Long) As LongPrivate 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 LongConst MF_BYPOSITION = &H400&Private Sub Form_Load() Dim mHandle As Long, lRet As Long, sHandle As Long, sHandle1 As Long '获得菜单的句柄 mHandle = GetMenu(hwnd) '获得“文件”菜单的句柄 sHandle = GetSubMenu(mHandle, 0) '为“打开”菜单项添加位图 lRet = SetMenuItemBitmaps _ (sHandle, 0, MF_BYPOSITION, imOpen.Picture.Handle, imOpen.Picture.Handle) '为“保存”菜单项添加位图 lRet = SetMenuItemBitmaps _ (sHandle, 1, MF_BYPOSITION, imSave.Picture, imSave.Picture) '为“打印”菜单项添加位图 lRet = SetMenuItemBitmaps _ (sHandle, 3, MF_BYPOSITION, imPrint.Picture, imPrint.Picture) '获得“其他”菜单的句柄 sHandle = GetSubMenu(mHandle, 1) '获得“帮助”子菜单的句柄 sHandle1 = GetSubMenu(sHandle, 0) '为“内容”菜单项添加位图 lRet = SetMenuItemBitmaps _ (sHandle1, 0, MF_BYPOSITION, imContent.Picture, imContent.Picture)End Sub欢迎光临电脑爱好者论坛 bbs.cfanclub.net 请问如何加载创建好的动态连接库 scale函数怎么总是提示出错呢?请教了,急等! 问个简单的月份问题 如何将信息写到网络上的excel或者access文件里,请给出实例.急等! 大哥大姐帮个忙 mdi窗体的问题 本人菜鸟一只,不过要做毕业设计,所以请各位大侠一定要回我的帖子 屏蔽当前活动窗口的键盘输入的API函数用法? picture显示的问题 ???请看 vb类的初始化怎么能完成? 用excel作报表的问题
Private Declare Function GetMenu Lib "user32" _
(ByVal hwnd As Long) As LongPrivate Declare Function GetSubMenu Lib "user32" _
(ByVal hMenu As Long, ByVal nPos As Long) As LongPrivate 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 LongConst MF_BYPOSITION = &H400&Private Sub Form_Load()
Dim mHandle As Long, lRet As Long, sHandle As Long, sHandle1 As Long
'获得菜单的句柄
mHandle = GetMenu(hwnd)
'获得“文件”菜单的句柄
sHandle = GetSubMenu(mHandle, 0)
'为“打开”菜单项添加位图
lRet = SetMenuItemBitmaps _
(sHandle, 0, MF_BYPOSITION, imOpen.Picture.Handle, imOpen.Picture.Handle)
'为“保存”菜单项添加位图
lRet = SetMenuItemBitmaps _
(sHandle, 1, MF_BYPOSITION, imSave.Picture, imSave.Picture)
'为“打印”菜单项添加位图
lRet = SetMenuItemBitmaps _
(sHandle, 3, MF_BYPOSITION, imPrint.Picture, imPrint.Picture)
'获得“其他”菜单的句柄
sHandle = GetSubMenu(mHandle, 1)
'获得“帮助”子菜单的句柄
sHandle1 = GetSubMenu(sHandle, 0)
'为“内容”菜单项添加位图
lRet = SetMenuItemBitmaps _
(sHandle1, 0, MF_BYPOSITION, imContent.Picture, imContent.Picture)
End Sub
欢迎光临电脑爱好者论坛 bbs.cfanclub.net