当前页面位置: » 丰搜网 » 文档中心 » 详细内容
vb中利用第三方控件实现qq垂直菜单
编者的话:经过一个月的前期准备,第三方控件推荐今日正式开始,今天推荐的控件是由网友伍学慧提供的,小编在此代表所有网友对他表示感谢。 使用示例: 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