VB中用第三方控件打造Office XP菜单

发表于:2007-05-25来源:作者:点击数: 标签:中用第三方打造菜单Office
简介 : VsMenu控件是一款完全可以模仿Office XP 和Office 2003的风格菜单控件。 使用示例 OfficeXP的菜单界面大家都不陌生吧,你也许想在 VB 开发 的程序中,也用上这种非常漂亮的菜单,但是也许为它付出惨重的代价,不是实现方法困难,就是需要写相当多代
 简介: VsMenu控件是一款完全可以模仿Office XP和Office 2003的风格菜单控件。

  使用示例

  OfficeXP的菜单界面大家都不陌生吧,你也许想在VB开发的程序中,也用上这种非常漂亮的菜单,但是也许为它付出惨重的代价,不是实现方法困难,就是需要写相当多代码,非常的不划算,现在笔者将为你介绍一款适应于所有Windows操作系统、并且全面支持MDI窗口和系统菜单、完全模拟MS OfficeXP及Office2003 风格的菜单控件,就是这样一款您已经找了很久的控件。她是目前所有主流开发工具下零代码轻松实现XP&2003菜单效果。这个示例中我们将使用VsMenu控件打造出一个很酷的OfficeXP菜单。

  VsMenu控件实现XP和2003效果的过程是不需要我们去关心的,所以它仅仅提供了少许的方法和属性,作为一款相当傻瓜的控件,对控件的设置都可以通过鼠标来完成,不过我们还是介绍一下控件常用的方法、属性和事件。见下表:


方法

说明

Init

初始化窗口

SetBitmapByCaption

设置菜单项图标

SetCustomAttributes

一次性设置菜单的有关各项属性
  VsMenu控件常用方法列表


属性

数据类型

说明

BitmapSize

Long

设置菜单显示项的大小

DisplayShadow

Boolean

设置菜单显示是否有阴影

DrawStyle

UcsMenuStyle类型

设置菜单配色方案,是自定义还是默认

RightToLeft

Boolean

反转菜单显示方向

UserCheckBackColour

Variant

复选框颜色

UserCheckBorderColour

Variant

复选框边框颜色

UserGradientOne

OLE_COLOR

第一次渐变色

UserGradientTwo

OLE_COLOR

第二次渐变色

UserMenuBorderColour

OLE_COLOR

菜单边界颜色

UserSelectedItemForeColour

OLE_COLOR

被选菜单文字颜色

UserSelectedMenuBackColour

OLE_COLOR

被选菜单背景颜色

UserSelectedMenuBorderColour

OLE_COLOR

被选菜单的边界颜色

UserSideBarColour

OLE_COLOR

工具条颜色

UserTopMenuBackColour

OLE_COLOR

主菜单背景颜色

UserTopMenuHotBorderColour

OLE_COLOR

主菜单热点边界颜色

UserTopMenuHotColour

OLE_COLOR

主菜单热点颜色

UserTopMenuSelectedColour

OLE_COLOR

展开的主菜单背景颜色

UseSystemFont

Boolean

是否使用系统字体
  VsMenu控件常用属性列表


事件

说明

Highlight

移入菜单事件,与按钮的移入、移出事件类似

CustomDrawItemFont

菜单项自绘字体设置

CustomDrawItemHoverFont

当鼠标移入或用键盘选中某菜单项时该菜单项的自绘字体设置
  VsMenu控件常用事件列表


  下面我们将介绍该控件的用法。

  第一步:首先启动Visual Basic 6.0,新建一个窗体,然后用工程中的菜单编辑器向窗体添加菜单

  第二步:加载VsMenu控件;在控件工具栏中单击右键,选择“部件”,在弹出的窗口中点击“浏览”,找到VsMenu控件,载入它;把它添加到窗体中任意位置即可,这个时候,你就会发现,窗体的菜单已经发生了变化,已经变成了OfficeXP风格的菜单了。

  你可以按F5键运行该程序查看程序运行效果了,下面我们将介绍如何更改该控件的一些设置。

  第三步:设置VsMenu控件。

  该控件的设置相当简单,它提供了一个属性页帮助开发者进行控件的设定。点中VsMenu控件,按下Shift+F4组合键便会弹出该控件的属性页,如下图:



  在该属性页内可以设置菜单项图标、样式以及菜单大小等等属性。在“自定义菜单颜色”的页内,提供了一套Office2003风格菜单的配色方案,可以通过设定“绘制样式”中的属性改变菜单样式,如下图所示,你也可以根据需要自己编写配色方案。



  在字体页内可以设置菜单中字体大小,这个功能需禁用“使用系统字体功能”

  第三步:在程序中动态设置VsMenu控件。

  我们可以通过控件提供的方法、属性和事件来控制它,下面我们就举几个简单的例子。


’设置菜单默认风格
ctxVsMenu1.DrawStyle = MS_默认

’设置菜单自定义风格
ctxVsMenu1.DrawStyle = MS_自定义


’设置菜单显示项的大小
ctxVsMenu1.BitmapSize = 24

Private Sub ctxVsMenu1_Highlight(strMenuCaption As String)
 If strMenuCaption = "新建(&N)" Then
  Msgbox "新建一个文档"
 End If
End Sub

原文转自:http://www.ltesting.net