編者的話:經過一個月的前期准備,第三方控件推薦今日正式開始,今天推薦的控件是由網友伍學慧提供的,小編在此代表所有網友對他表示感謝。
源代碼包中為VerticalMenu控件,請下載後解壓測試
使用示例:
QQ是我們經常使用的軟件之一.相信大家對QQ那樣的界面再熟悉不過了.在這,我向大家推薦一個在VB中能輕松實現這種類似於QQ垂直菜單的第三方控件VerticalMenu。
下面我就結合實例(開發環境為Visual Basic 6.0,windowsXP)講一下運用VerticalMenu控件開發程序的方法。
(一)VerticalMenu控件的加載
運行Visual Basic 6.0並新建一個工程.然後選擇菜單中的"工程(P)"->"部件",以顯示"部件"對話框,如圖1所示。
單擊"浏覽(B)"按鈕,從存放VerticalMenu控件的文件夾中找到VertMenu.ocx文件,把它加入到可用控件列表中。單擊"確定"按鈕關閉"部件"對話框後。VerticalMenu控件就出現在工具箱中。如圖2
(二)VerticalMenu控件常用屬性的設置
在工具箱中選取VerticalMenu控件,把它放到新建工程的Form1上。調整好大小。如圖3
然後在該控件上單擊鼠標右鍵。就會彈出VerticalMenu的屬性頁對話框。如圖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。
如果你設定了更多的菜單,也如此類推來更改每個菜單菜單名。
設定好了菜單,第二步就該設計每個菜單下的菜單項Item了。設定Item的方法和設定菜單類似。首先在MenuObjects選項卡下的MenuItemMax中輸入當前菜單的Item個數。這裡我們輸入4。可以看到點擊"應用"後第一個菜單的Item馬上變成了4個。其它菜單下的Item數量,可以先在Menues選項卡下的MenuCur中輸入要設置的菜單序號後按以上步驟修改。
每個菜單中的每個Item,VerticalMenu都可以對它改名和更換圖標。首先在屬性頁MenuObjects選項卡中的MenultemCur輸入要設置的Item序號(從1開始),然後再到MenuItemObjects選項卡下,在MenultemCaption中改名,點擊MenuItemPicture 旁的"Browse"按鈕選取 ico圖標文件即可更換當前Item的圖標。如圖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