vb 菜单背景
来源:互联网 发布:学而思培优网络课程 编辑:程序博客网 时间:2024/05/09 09:07
首先设计好你的菜单
然后在窗体上加入一个按钮
代码如下:
Option Explicit
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Const MIM_BACKGROUND As Long = &H2
Private Const MIM_APPLYTOSUBMENUS As Long = &H80000000
Private Type MENUINFO
cbSize As Long
fMask As Long
dwStyle As Long
cyMax As Long
hbrBack As Long
dwContextHelpID As Long
dwMenuData As Long
End Type
Private Declare Function DrawMenuBar 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 GetMenu Lib "user32" _
(ByVal hWnd As Long) As Long
Private Declare Function SetMenuInfo Lib "user32" _
(ByVal hMenu As Long, _
mi As MENUINFO) As Long
Private Declare Function CreateSolidBrush Lib "gdi32" _
(ByVal crColor As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Sub Command1_Click()
Dim itemnum As Long
Dim hMenu As Long
Dim mi As MENUINFO
Dim i As Long
hMenu = GetMenu(Me.hWnd)
itemnum = GetMenuItemCount(hMenu)
With mi
.cbSize = Len(mi)
.fMask = MIM_BACKGROUND Or MIM_APPLYTOSUBMENUS
.hbrBack = CreateSolidBrush(vbYellow)
End With
SetMenuInfo GetMenu(Me.hWnd), mi 'main menu bar
DrawMenuBar Me.hWnd
'其实上面的程序就可以满足你的要求了,不过,加上下面的语句,显得更有意思一些
For i = 0 To itemnum - 1
With mi
.cbSize = Len(mi)
.fMask = MIM_BACKGROUND Or MIM_APPLYTOSUBMENUS
Randomize Timer
.hbrBack = CreateSolidBrush(CLng(&HFFFFFF * Rnd(i)))
End With
SetMenuInfo GetSubMenu(hMenu, i), mi
Next
End Sub
- vb 菜单背景
- VB ListView 隔行背景
- 桌面菜单背景问题
- 自定义Android菜单背景
- 自定义Android菜单背景
- 自定义Android菜单背景
- 自定义Android菜单背景
- 菜单的背景颜色
- 自定义Android菜单背景
- 自定义菜单,透明背景
- 自定义Android菜单背景
- 自定义Menu菜单背景
- 自定义Android菜单背景
- vb 右键弹出菜单
- vb MDI背景自动拉伸
- 自定义系统菜单的背景
- 自定义系统菜单的背景
- 自定义系统菜单的背景
- java中格式化小数,格式化时间
- DataGrid GridView
- xp sp2 iis5.1 aspnet服务器应用程序不可用
- Hibernate Annotation 中配置EhCache缓存
- 发牌(从m个数字中随机选不同的n个数)
- vb 菜单背景
- rsync
- WINDOWS钩子函数(HOOK)
- 通过rss取csdn帖子URL列表(java版)
- 我只在乎你
- JSP自定义标签学习(基础)
- Process组件启动新的进程后,如何获取它的输出的问题
- 使用JavaBean实现JSP页面和代码分离
- web-inf的class下怎么没有文件的问题