控件和源碼下載
QQ的界面大家都不陌生吧?CtListBar就是一個十分優秀的第三方控件,利用它我們可以很輕松的做出一個象QQ一樣的界面。這節中,我們將通過對CtListBar控件基本使用方法的學習,參照一個實例,打造出一個很酷的QQ菜單。
CtListBar控件包含了許多很有用的方法和屬性。開始實例學習前,我們有必要先對其主要的幾個方法和屬性了解一番。表一和表二分別列出了幾個主要的方法和屬性,以及它們的類型、說明。初步了解之後,現在我們就開始實例講解。
(表一)
->方法->->返回類型->->說明->->AddList->->integer->->添加一個新的分組->->DeleteList->->boolean->->從控件中刪除一個已有分組->->AddListItem->->integer->->在一個分組中新添加一個項目->->DeleteItem->->boolean->->在一個分組中刪除一個項目->->InsertListItem->->short->->在某一分組中的某一位置插入一個新的項目->->ClearLists->->void->->清除控件中的所有分組和項目->
(表二)
->屬性->->數據類型->->說明->->BackImage->->Picture->->設置控件背景圖片。利用這個屬性,可以實現“皮膚”的功能。->->BarHeight->->integer->->設置分組按鈕的高度。->->BorderType->->integer->->設置控件的邊框樣式->->BorderColor->->long->->設置控件的邊框顏色,僅當BorderType設置為“0-Regular”時有效。->->ButtonBackColor->->long->->設置分組按鈕和上下滾動按鈕的顏色。->->ButtonForeColor->->long->->設置分組按鈕和上下滾動按鈕的字體顏色。->->ButtonSize->->integer->->設置上下滾動按鈕大小。->->GradientFill->->boolean->->設置控件背景是否顯示漸變色。->->GradColorFrom->->long->->設置漸變色的起始顏色。->->GradColorTo->->long->->設置漸變色的結束顏色。->->IconSize->->integer->->設置圖標顯示模式是大圖標或小圖標。->->Image1-6->->Picture->->設置預先在控件中加載的6幅圖片。->->ListBarStyle->->integer->->設置控件縱向或是橫向顯示。->->ListBackColor->->long->->設置控件的背景顏色。->->ListForeColor->->long->->設置分組中項目文字的顏色。->->ListScrollSpeed->->integer->->設置項目滾動的速度。->->ItemScrollSpeed->->integer->->設置分組滑動的速度。->
第一步:首先啟動VisualBasic6.0,新建一個窗口,修改窗口的Caption屬性為你喜歡的名字,如“我的QQ菜單”。
第二步:加載CtListBar控件,設置其屬性。
①在控件工具欄中單擊右鍵,選擇“部件”,在彈出的窗口中點擊“浏覽”,找到CtListBar控件,載入它;把它添加到Form1窗體中,用鼠標拖動調整其大小。
②修改Caption屬性為“我的好友”。Caption屬性值將是菜單第一個分組的名稱。
③修改ListBackColor屬性。實例中我們借用了QQ的頭像圖片,設置屬性值為&H00808000&,是背景顏色與圖片背景吻合。
④在Images屬性中載入圖片。CtListBar控件本身可以載入6幅圖片,這裡我們從QQ的頭像中載入6幅圖片(如圖1)。
⑤其余屬性可以參照表2,依你自己的喜好設置。這裡我們采用默認值。
小技巧:雖然CtListBar控件只能載入6幅圖片,但是我們可以用其他方法使CtListBar控件可以使用更多的圖片,如使用PictureBox控件、ImageList控件等。
第三步:添加其他控件,完成界面的設置。
在窗體中添加5個CommandButton,將名稱分別設置為cmd_AddList、cmd_DelList、cmd_AddItem、cmd_DelItem、cmd_Insert;將Caption屬性依次設置為“添加分組”、“刪除分組”、“添加項目”、“刪除項目”、“插入項目”。
到這裡,界面的設置就搞掂了,完成後如圖2。
->->
第四步:接下來,我們就開始代碼的編寫,實現具體的功能。
①聲明4個全局變量。
-> DimstrListName,strItemNameAsString
DimintListNum,intItemNumAsInteger ->
②CtListBar控件不能預先設置好分組和項目,只能動態的添加,所以我們在Form_Load()事件中加入代碼,添加結果分組和項目。
->ctListBar1.AddList"陌生人"
ctListBar1.AddList"黑名單"
ctListBar1.AddListItem1,"Myheart",ctListBar1.Image1
ctListBar1.AddListItem1,"第七樂章",ctListBar1.Image2
ctListBar1.AddListItem1,"小A",ctListBar1.Image3
ctListBar1.AddListItem1,"小B",ctListBar1.Image4
ctListBar1.AddListItem1,"張三",ctListBar1.Image5
ctListBar1.AddListItem1,"李四",ctListBar1.Image6->
以上代碼中,我們新添加了“陌生人”和“黑名單”兩個分組,又在原先設置過的“我的好友”分組中添加了6個項目。
提示:ctListBar1.AddListItem方法使用了3個參數,分別為nIndex(分組的Index值)、strText(項目的名稱)、Picture(項目的圖片)。
③在按鈕控件cmd_AddList的Click事件中輸入代碼:
-> strListName=""
strListName=InputBox("請輸入要添加的分組名稱","添加分組")
IfstrListName<>""ThenctListBar1.AddListstrListName->
在按鈕控件cmd_DelList的Click事件中輸入代碼:
-> intListNum=0
intListNum=Val(InputBox("請輸入要刪除的分組標識號","刪除分組"))
IfintListNum<>0ThenctListBar1.DeleteListintListNum->
在按鈕控件cmd_AddItem的Click事件中輸入代碼:
-> strItemName=""
intListNum=0
intListNum=Val(InputBox("請輸入要添加的項目所在分組的標識號","添加項目"))
IfintListNum<>0ThenstrItemName=InputBox("請輸入要添加的項目的名稱","添加項目")
IfstrItemName<>""ThenctListBar1.AddListItemintListNum,strItemName,ctListBar1.Image1->
在按鈕控件cmd_DelItem的Click事件中輸入代碼:
-> intListNum=0
intItemNum=0
intListNum=Val(InputBox("請輸入要刪除的項目所在分組的標識號","刪除項目"))
IfintListNum<>0ThenintItemNum=Val(InputBox("請輸入要刪除的項目的標識號","刪除項目"))
IfintItemNum<>0ThenctListBar1.DeleteItemintListNum,intItemNum->
在按鈕控件cmd_Insert的Click事件中輸入代碼:
-> intListNum=0
intItemNum=0
strItemName=""
intListNum=Val(InputBox("請輸入要插入的項目所在分組的標識號","插入項目"))
IfintListNum<>0ThenintItemNum=Val(InputBox("請輸入要插入的項目所在位置的標識號","插入項目"))
IfintItemNum<>0ThenstrItemName=InputBox("請輸入要插入的項目的名稱","插入項目")
IfstrItemName<>""ThenctListBar1.InsertListItemintListNum,intItemNum,strItemName,tListBar1.Image1->
提示:用AddListItem添加的項目只能添加在該分組末尾,而InsertListItem方法可以在一個分組中的指定位置插入一個新的項目。
到這裡,這個簡單的實例程序就完成了,按下F5,看看效果(如圖3),是不是很酷?和QQ象極了!CtListBar控件用處很多,它完全可以用來替代VisualBasic中菜單編輯器編輯出的古板菜單,很多著名軟件都使用了類似的菜單效果。在你的程序中也用上這個控件,一定可以為你的程序增輝不少。
->->->