编者的话:经过一个月的前期准备,第三方控件推荐今日正式开始,今天推荐的控件是由网友伍学慧提供的,小编在此代表所有网友对他表示感谢。
下载本文提供的第三方控件:VerticalMenu 使用示例: QQ是我们经常使用的软件之一.相信大家对QQ那样的界面再熟悉不过了.在这,我向大家推荐一个在VB中能轻松实现这种类似于QQ垂直菜单的第三方控件VerticalMenu。
下面我就结合实例(开发环境为Visual Basic 6.0,windowsXP)讲一下运用VerticalMenu控件开发程序的方法。
(一)VerticalMenu控件的加载
运行Visual Basic 6.0并新建一个工程.然后选择菜单中的"工程(P)"->"部件",以显示"部件"对话框,如图1所示。
图1 |
单击"浏览(B)"按钮,从存放VerticalMenu控件的文件夹中找到VertMenu.ocx文件,把它加入到可用控件列表中。单击"确定"按钮关闭"部件"对话框后。VerticalMenu控件就出现在工具箱中。如图2
图2 |
(二)VerticalMenu控件常用属性的设置
在工具箱中选取VerticalMenu控件,把它放到新建工程的Form1上。调整好大小。如图3
图3 |
然后在该控件上单击鼠标右键。就会弹出VerticalMenu的属性页对话框。如图4
图4 |
⒈属性说明:
Menues
MenuCur:当前正在设置的菜单序号(默认序号从1开始)
MenusMax:总共的菜单数量
MenuStartup:在程序运行时默认显示的菜单的序号
MenuObjects
MenuCaption:当前菜单的名字
MenultemCur: 当前正在设置的Item序号(默认序号从1开始)
MenuItemMax:当前菜单中Item的个数
MenuItemObjects
MenultemCaption:当前item的名字
MenuItemPicture:当前item的图标
⒉属性的具体设置
第一步首先在属性页"Menues"选项卡下的MenusMax中输入3,表示总共有3个菜单条。点击"应用"按钮后发现菜单变成了3个。分别是"Menu1","Menu2", "Menu3"。然后点击MenuObjects选项卡,在MenuCaption中把菜单"Menu1"改名为"第一个菜单"。
回到Menues选项卡下,在MenuCur中把1改为2,表示当前要设置的是第2个菜单。再点击MenuObjects选项卡,在MenuCaption中把菜单 "Menu2"改名为"第二个菜单"。类似的,把Menu3也改名。如图5。
图5 |
如果你设定了更多的菜单,也如此类推来更改每个菜单菜单名。
设定好了菜单,第二步就该设计每个菜单下的菜单项Item了。设定Item的方法和设定菜单类似。首先在MenuObjects选项卡下的MenuItemMax中输入当前菜单的Item个数。这里我们输入4。可以看到点击"应用"后第一个菜单的Item马上变成了4个。其它菜单下的Item数量,可以先在Menues选项卡下的MenuCur中输入要设置的菜单序号后按以上步骤修改。
每个菜单中的每个Item,VerticalMenu都可以对它改名和更换图标。首先在属性页MenuObjects选项卡中的MenultemCur输入要设置的Item序号(从1开始),然后再到MenuItemObjects选项卡下,在MenultemCaption中改名,点击MenuItemPicture 旁的"Browse"按钮选取 ico图标文件即可更换当前Item的图标。如图6
图6 |
(三)编写事件响应代码
界面设计好了,关键在于单击每个Item图标能产生事件。这里主要通过VerticalMenu提供的MenuItemClick事件来实现。在MenuItemClick中编写以下代码。代码中MenuNumber表示是第几个菜单(从1开始),MenuItem表示是当前菜单下第几个Item。(同样是从1开始)。加入以下代码后,单击每个菜单下的项目图标,就能响应相应的事件了J
Private Sub VerticalMenu1_MenuItemClick(MenuNumber As Long, MenuItem As Long) If MenuNumber = 1 Then If MenuItem = 1 Then Form2.Show If MenuItem = 2 Then MsgBox "你按了b", , "VerticalMenu" If MenuItem = 3 Then MsgBox "你按了c", , "VerticalMenu" If MenuItem = 4 Then MsgBox "你按了d", , "VerticalMenu" End If If MenuNumber = 2 Then If MenuItem = 1 Then MsgBox "你按了e", , "VerticalMenu" End If If MenuNumber =3 Then If MenuItem = 1 Then MsgBox "你按了f", , "VerticalMenu" End If End Sub |
查看本文来源