使用示例
OfficeXP的菜單界面大家都不陌生吧,你也許想在VB開發的程序中,也用上這種非常漂亮的菜單,但是也許為它付出慘重的代價,不是實現方法困難,就是需要寫相當多代碼,非常的不劃算,現在筆者將為你介紹一款適應于所有Windows操作系統、并且全面支持MDI窗口和系統菜單、完全模擬MS OfficeXP及Office2003 風格的菜單控件,就是這樣一款您已經找了很久的控件。她是目前所有主流開發工具下零代碼輕松實現XP&2003菜單效果。這個示例中我們將使用VsMenu控件打造出一個很酷的OfficeXP菜單。
VsMenu控件實現XP和2003效果的過程是不需要我們去關心的,所以它僅僅提供了少許的方法和屬性,作為一款相當傻瓜的控件,對控件的設置都可以通過鼠標來完成,不過我們還是介紹一下控件常用的方法、屬性和事件。見下表:
方法 |
說明 |
Init |
初始化窗口 |
SetBitmapByCaption |
設置菜單項圖標 |
SetCustomAttributes |
一次性設置菜單的有關各項屬性 |
屬性 |
數據類型 |
說明 |
BitmapSize |
Long |
設置菜單顯示項的大小 |
DisplayShadow |
Boolean |
設置菜單顯示是否有陰影 |
DrawStyle |
UcsMenuStyle類型 |
設置菜單配色方案,是自定義還是默認 |
RightToLeft |
Boolean |
反轉菜單顯示方向 |
UserCheckBackColour |
Variant |
復選框顏色 |
UserCheckBorderColour |
Variant |
復選框邊框顏色 |
UserGradientOne |
OLE_COLOR |
第一次漸變色 |
UserGradientTwo |
OLE_COLOR |
第二次漸變色 |
UserMenuBorderColour |
OLE_COLOR |
菜單邊界顏色 |
UserSelectedItemForeColour |
OLE_COLOR |
被選菜單文字顏色 |
UserSelectedMenuBackColour |
OLE_COLOR |
被選菜單背景顏色 |
UserSelectedMenuBorderColour |
OLE_COLOR |
被選菜單的邊界顏色 |
UserSideBarColour |
OLE_COLOR |
工具條顏色 |
UserTopMenuBackColour |
OLE_COLOR |
主菜單背景顏色 |
UserTopMenuHotBorderColour |
OLE_COLOR |
主菜單熱點邊界顏色 |
UserTopMenuHotColour |
OLE_COLOR |
主菜單熱點顏色 |
UserTopMenuSelectedColour |
OLE_COLOR |
展開的主菜單背景顏色 |
UseSystemFont |
Boolean |
是否使用系統字體 |
事件 |
說明 |
Highlight |
移入菜單事件,與按鈕的移入、移出事件類似 |
CustomDrawItemFont |
菜單項自繪字體設置 |
CustomDrawItemHoverFont |
當鼠標移入或用鍵盤選中某菜單項時該菜單項的自繪字體設置 |
下面我們將介紹該控件的用法。
第一步:首先啟動Visual Basic 6.0,新建一個窗體,然后用工程中的菜單編輯器向窗體添加菜單
第二步:加載VsMenu控件;在控件工具欄中單擊右鍵,選擇“部件”,在彈出的窗口中點擊“瀏覽”,找到VsMenu控件,載入它;把它添加到窗體中任意位置即可,這個時候,你就會發現,窗體的菜單已經發生了變化,已經變成了OfficeXP風格的菜單了。
你可以按F5鍵運行該程序查看程序運行效果了,下面我們將介紹如何更改該控件的一些設置。
第三步:設置VsMenu控件。
該控件的設置相當簡單,它提供了一個屬性頁幫助開發者進行控件的設定。點中VsMenu控件,按下Shift+F4組合鍵便會彈出該控件的屬性頁,如下圖:

在該屬性頁內可以設置菜單項圖標、樣式以及菜單大小等等屬性。在“自定義菜單顏色”的頁內,提供了一套Office2003風格菜單的配色方案,可以通過設定“繪制樣式”中的屬性改變菜單樣式,如下圖所示,你也可以根據需要自己編寫配色方案。

在字體頁內可以設置菜單中字體大小,這個功能需禁用“使用系統字體功能”
第三步:在程序中動態設置VsMenu控件。
我們可以通過控件提供的方法、屬性和事件來控制它,下面我們就舉幾個簡單的例子。
’設置菜單默認風格 ctxVsMenu1.DrawStyle = MS_默認 |
’設置菜單自定義風格 ctxVsMenu1.DrawStyle = MS_自定義 |
’設置菜單顯示項的大小 ctxVsMenu1.BitmapSize = 24 |
Private Sub ctxVsMenu1_Highlight(strMenuCaption As String) If strMenuCaption = "新建(&N)" Then Msgbox "新建一個文檔" End If End Sub |
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/
領測軟件測試網最新更新
關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月