做成那样的菜单有两种方法(其他的方法实现的效果太次):
一:自画菜单:
我编的自画菜单:http://go6.163.com/910grtd/vb/wdzp/DrawMenu-S.htm(有注释!特地为想学自画菜单的人写的)
http://go6.163.com/910grtd/vb/wdzp/CoolGUI.htm(效果比较好,但没有注释)
http://go6.163.com/910grtd/vb/wdzp/ZXPMenu.htm(XP风格的菜单。可是不知道为什么,Win2000下运行不了)二:用窗体模拟菜单:
http://www.dapha.net/vb/list.asp?id=748
XP下拉菜单(影子效果)
一:自画菜单:
我编的自画菜单:http://go6.163.com/910grtd/vb/wdzp/DrawMenu-S.htm(有注释!特地为想学自画菜单的人写的)
http://go6.163.com/910grtd/vb/wdzp/CoolGUI.htm(效果比较好,但没有注释)
http://go6.163.com/910grtd/vb/wdzp/ZXPMenu.htm(XP风格的菜单。可是不知道为什么,Win2000下运行不了)二:用窗体模拟菜单:
http://www.dapha.net/vb/list.asp?id=748
XP下拉菜单(影子效果)
解决方案 »
- 如何用VB连接局域网中的SQL2005上的数据库
- vista UAC开启 注册DLL 错误
- 怎么去空格和回车。
- 注册表项不存在,跳转错误问题
- 在SSTAB上动态增加控件,如果一页无法显示怎么办
- 紧急向您求助:关于DBgrid使用的两个奇怪问题。谢谢您!等待中.........
- 继续探讨VB连接因特网数据库的方法(Access,SQL Server)
- 进来看看,简单的
- *******关于超市管理系统中数据同步的一个问题(其实很简单,但我想不明白,大家都来看看)
- 我做的闹钟为什么会这样子?
- API函数WSAStartup的用法
- 有一具问题,最近一直在做网络传送文件的这个软件。有一个大问题,关于如何获得局域网中的广播地址有没有什么函数可以实现呢
Option Explicit
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As String) As Long
Declare Function SetActiveWindow Lib "user32" (ByVal hwnd As Long) As Long
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 SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, _
ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As LongPublic Const MF_BYPOSITION = &H400&Public Function BitmapInMenu(frm As Form)
Dim mHandle As Long, lRet As Long, sHandle As Long, sHandle2 As LongmHandle = GetMenu(frm.hwnd)
sHandle = GetSubMenu(mHandle, 0)lRet = SetMenuItemBitmaps(sHandle, 0, MF_BYPOSITION, Form28.ImageList1.ListImages(1).Picture, Form28.ImageList1.ListImages(1).Picture)
lRet = SetMenuItemBitmaps(sHandle, 1, MF_BYPOSITION, Form28.ImageList1.ListImages(2).Picture, Form28.ImageList1.ListImages(2).Picture)
lRet = SetMenuItemBitmaps(sHandle, 3, MF_BYPOSITION, Form28.ImageList1.ListImages(3).Picture, Form28.ImageList1.ListImages(3).Picture)
lRet = SetMenuItemBitmaps(sHandle, 4, MF_BYPOSITION, Form28.ImageList1.ListImages(4).Picture, Form28.ImageList1.ListImages(4).Picture)mHandle = GetMenu(frm.hwnd)
sHandle = GetSubMenu(mHandle, 1)lRet = SetMenuItemBitmaps(sHandle, 0, MF_BYPOSITION, Form28.ImageList1.ListImages(5).Picture, Form28.ImageList1.ListImages(5).Picture)
lRet = SetMenuItemBitmaps(sHandle, 1, MF_BYPOSITION, Form28.ImageList1.ListImages(6).Picture, Form28.ImageList1.ListImages(6).Picture)End Function
而且白色为透明色
既无法显示白色
hSubMenu& = GetSubMenu(hMenu&, 0)
hID& = GetMenuItemID(hSubMenu&, 0)
SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, Picture1.Picture, Picture1.Picture
贴的不错,cool!