VB中利用第三方控件实现QQ垂直菜单

来源:互联网 发布:百川软件下载 编辑:程序博客网 时间:2024/05/16 07:33

开发者网络 > 开发工具 > 开发专栏 > VB > 正文

   下载本文提供的第三方控件: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
   

原创粉丝点击