vb中如何更改菜单栏背景的颜色?麻烦高手写一下代码(注明在哪里写)

 我来答
网海1书生
科技发烧友

2012-09-29 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
建议你最好不要去改这个颜色,因为这是标准菜单,是受windows系统整体样式的控制的,要改的话当然有办法改,但改了之后其他软件中的菜单颜色也会跟着受影响的。所以要么不改,要么就整体改:给winxp系统换一个有你希望的菜单颜色的桌面主题。
还有一个办法就是不用标准菜单,自己另外做一个(比如用PictureBox模拟),这样就可以随意改变颜色了。不过一般不建议这么做的,编程序不要一味追求界面美观,用户体验才是第一位的,对于一个用惯了windows标准软件界面的用户来说,看到你的花里胡哨的菜单,他的第一反应就是这不是菜单,这对用户体验是个灾难性的打击。 除非你做的是游戏。
追问
你讲的有一定的道理,我就是知道变颜色的代码和方法?希望你能不吝赐教~
娱轻幸身1G5e3
2012-10-10 · TA获得超过1715个赞
知道大有可为答主
回答量:6147
采纳率:7%
帮助的人:1761万
展开全部
您可以点桌面下方的工具栏,右键,属性,启动属性,有两种模式
一样的经典模式,你可以选择的颜色。
此外,电脑或笔记本电脑,如果他们想看看好点的,你知道电脑也可以改变它的主题吗?桌面和“开始”菜单中可以改变很洋气。 。
推荐百度“魔主
第一个网站是。 。
我和我女朋友的笔记本电脑已经改变了。 。 。她喜欢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
howdays
2012-09-30 · TA获得超过181个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:196万
展开全部
你也够懒的了。百度 “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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式