2.4 定制菜單
1.菜單概述
Windows中的菜單一般由菜單條、菜單、菜單項(xiàng)、子菜單、彈出式菜單組成。
2.普通菜單的設(shè)計(jì)
(1)給菜單命名
菜單標(biāo)題和菜單命令也有Caption和Name屬性,設(shè)置了這兩個(gè)屬性就等于創(chuàng)建了菜單。Name是一個(gè)抽象名稱(chēng),Caption是屏幕上可見(jiàn)的,可在Caption里加入 “&” 來(lái)設(shè)置熱鍵。
(2)增加和刪除菜單
在Menu Editor中部有三個(gè)命令鈕分別是下一個(gè)、插入、刪除。插入可用來(lái)增加新的菜單。在這三個(gè)鍵下面的Caption列表框里選中菜單項(xiàng)(這時(shí)它的底色就變成深藍(lán)色),單擊插入鍵,Visual Basic將上一個(gè)增亮菜單下推并增亮一空行,就可以輸入新菜單名和標(biāo)題了。刪除鍵可用來(lái)刪掉菜單。選中要?jiǎng)h掉的菜單,單擊Delete鍵就可以刪掉它了。
(3)移動(dòng)菜單標(biāo)題
有四種情況:向上移動(dòng),向下移動(dòng),向左縮排,向右縮排,選中某一菜單標(biāo)題,安上下箭頭,則這個(gè)菜單將上下移動(dòng)到你喜歡的位置上,這也決定了它在界面中的位置。如果按左右箭頭,情況則有所不同。由于菜單是分級(jí)的,所以,如果它沒(méi)有縮排,則它是一個(gè)菜單標(biāo)題;如果它縮排一次,那么它將變成一個(gè)菜單命令;如果縮排兩次,那么它將成為一個(gè)子菜單命令。VB里可以總共設(shè)計(jì)四層子菜單。
(4)設(shè)置分離條
分離條是指在菜單中將命令分組的線(xiàn),VB將分離條也看成一個(gè)菜單項(xiàng),它也需要Caption和Name屬性,而且也有其它屬性,分離條與菜單項(xiàng)的區(qū)別是分離條的Caption屬性必須是連字號(hào)即減號(hào)。也就是,當(dāng)設(shè)置了一個(gè)Caption屬性為 “-” 的菜單項(xiàng)時(shí),實(shí)際上就設(shè)置了一個(gè)分離條,分離條的名字可以是barFile1之類(lèi),以表明分離條的位置。
(5) 菜單的各種簡(jiǎn)單屬性
在菜單編輯器里有許多確認(rèn)框和一些文本框及一個(gè)下拉式的列表框,這些決定了菜單的各種屬性。
1) Checked 復(fù)選屬性
這個(gè)屬性值設(shè)置為真,將在菜單命令左邊產(chǎn)生一個(gè)打勾的確認(rèn)標(biāo)志。
2) Enabled有效屬性
各種各樣的用戶(hù)會(huì)產(chǎn)生千奇百怪的操作,在許多Edit菜單里都會(huì)有不同形式的讓菜單命令模糊的情況。Enabled屬性為真,則菜單命令是清晰的,Enabled屬性為假,則菜單命令是模糊的,這時(shí)用戶(hù)就不能選中這個(gè)菜單項(xiàng)了。
3) Visible 可見(jiàn)屬性
對(duì)暫時(shí)不用的菜單, 如果把Visible屬性設(shè)為假,則菜單根本不會(huì)出現(xiàn)在屏幕上。這樣做比把Enabled屬性設(shè)為假顯得更加干脆!
4) Index屬性
可以生成菜單命令數(shù)組,用索引號(hào)區(qū)分開(kāi)。例如向File菜單中添加一系列最近打開(kāi)的文件名。添加菜單可用Load方法。以上屬性可以在運(yùn)行時(shí)設(shè)置,形成動(dòng)態(tài)的菜單的情況。
例如:
mnuUndo.Enabled = False
mnuProperty.Visible = False
還可以改變Caption等屬性。
mnuUndo.Caption = “Redo”
3. 生成彈出式菜單(或浮動(dòng)菜單)
幾乎每個(gè)Windows應(yīng)用程序都提供彈出式菜單,用戶(hù)可以右鍵單擊窗體或控件取得這個(gè)菜單。彈出式菜單也屬于普通菜單,只是不固定在窗體上,而是可以在任何地方顯示。
彈出式菜單用PopupMenu方法調(diào)用。假設(shè)已經(jīng)用菜單編輯器生成了名為mnuedit的菜單,則可以在MouseUp事件加入如下代碼就可以生成彈出式菜單:
If Button = 2 Then PopupMenu mnuedit
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)VB二十套上機(jī)試題及答案北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |