vb中如何更改菜单栏背景的颜色?麻烦高手写一下代码(注明在哪里写)
3个回答
展开全部
建议你最好不要去改这个颜色,因为这是标准菜单,是受windows系统整体样式的控制的,要改的话当然有办法改,但改了之后其他软件中的菜单颜色也会跟着受影响的。所以要么不改,要么就整体改:给winxp系统换一个有你希望的菜单颜色的桌面主题。
还有一个办法就是不用标准菜单,自己另外做一个(比如用PictureBox模拟),这样就可以随意改变颜色了。不过一般不建议这么做的,编程序不要一味追求界面美观,用户体验才是第一位的,对于一个用惯了windows标准软件界面的用户来说,看到你的花里胡哨的菜单,他的第一反应就是这不是菜单,这对用户体验是个灾难性的打击。 除非你做的是游戏。
还有一个办法就是不用标准菜单,自己另外做一个(比如用PictureBox模拟),这样就可以随意改变颜色了。不过一般不建议这么做的,编程序不要一味追求界面美观,用户体验才是第一位的,对于一个用惯了windows标准软件界面的用户来说,看到你的花里胡哨的菜单,他的第一反应就是这不是菜单,这对用户体验是个灾难性的打击。 除非你做的是游戏。
追问
你讲的有一定的道理,我就是知道变颜色的代码和方法?希望你能不吝赐教~
展开全部
您可以点桌面下方的工具栏,右键,属性,启动属性,有两种模式
一样的经典模式,你可以选择的颜色。
此外,电脑或笔记本电脑,如果他们想看看好点的,你知道电脑也可以改变它的主题吗?桌面和“开始”菜单中可以改变很洋气。 。
推荐百度“魔主
第一个网站是。 。
我和我女朋友的笔记本电脑已经改变了。 。 。她喜欢
一样的经典模式,你可以选择的颜色。
此外,电脑或笔记本电脑,如果他们想看看好点的,你知道电脑也可以改变它的主题吗?桌面和“开始”菜单中可以改变很洋气。 。
推荐百度“魔主
第一个网站是。 。
我和我女朋友的笔记本电脑已经改变了。 。 。她喜欢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你也够懒的了。百度 “vb 菜单栏 颜色” 大把的介绍(大多雷同)。
更多追问追答
追问
其实我狠勤快的,我baidu过、就是不知道那长串代码应该在哪里输入?
追答
以下代码别处抄的,非原创,勿做商业用途,24小时后删除,不对使用后果负责......
++++++++++++++++++++++++++++++++++
首先设计好你的菜单
然后在窗体上加入一个按钮
代码如下:(以下代码放在程序开头)
Option Explicit
Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Public 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
Public Declare Function DrawMenuBar 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 GetMenu Lib "user32" _
(ByVal hWnd As Long) As Long
Public Declare Function SetMenuInfo Lib "user32" _
(ByVal hMenu As Long, _
mi As MENUINFO) As Long
Public Declare Function CreateSolidBrush Lib "gdi32" _
(ByVal crColor As Long) As Long
Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
(窗体上放个Command,以下代码是它的事件)
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询