Visual-Basic程序設(shè)計(jì)課件第6章 應(yīng)用程序界面設(shè)計(jì)_第1頁(yè)
Visual-Basic程序設(shè)計(jì)課件第6章 應(yīng)用程序界面設(shè)計(jì)_第2頁(yè)
Visual-Basic程序設(shè)計(jì)課件第6章 應(yīng)用程序界面設(shè)計(jì)_第3頁(yè)
Visual-Basic程序設(shè)計(jì)課件第6章 應(yīng)用程序界面設(shè)計(jì)_第4頁(yè)
Visual-Basic程序設(shè)計(jì)課件第6章 應(yīng)用程序界面設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩89頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第6章應(yīng)用程序界面設(shè)計(jì)應(yīng)用軟件的開(kāi)發(fā)不僅要考慮其功能的完備性和先進(jìn)性,還必須具有良好的用戶(hù)界面。在應(yīng)用程序中使用菜單和工具欄是改善用戶(hù)界面的一個(gè)重要手段。一個(gè)應(yīng)用程序的菜單和工具欄設(shè)計(jì)得好,不僅能使系統(tǒng)美觀,而且使操作更簡(jiǎn)便,并能避免操作失誤而造成的嚴(yán)重后果。本章介紹VisualBasic的菜單和工具欄的設(shè)計(jì)技術(shù)。6.1.1認(rèn)識(shí)菜單

菜單(Menu)是Windows應(yīng)用程序不可缺少的組成部分。菜單以分組的形式組織多個(gè)命令或操作,使用戶(hù)界面變得更加整潔而美觀,為用戶(hù)靈活操作應(yīng)用程序提供了便捷的手段。1.菜單的分類(lèi)在Windows環(huán)境下,菜單分為下拉式菜單和快捷菜單兩種形式。(1)下拉式菜單。一種典型的窗口式菜單,一般由應(yīng)用程序窗口菜單欄中的主菜單、子菜單以及子菜單中的菜單項(xiàng)和菜單項(xiàng)分隔條組成,如圖6-1所示。程序運(yùn)行時(shí),一旦用戶(hù)用鼠標(biāo)或鍵盤(pán)選擇某主菜單項(xiàng),將立即彈出一個(gè)下拉的子菜單。

正常情況下,下拉式菜單只顯示主菜單,用鼠標(biāo)單擊或用熱鍵可以下拉各級(jí)子菜單。程序的各種功能由各級(jí)子菜單中的菜單項(xiàng)(菜單命令)完成。圖6-1所示是一個(gè)二級(jí)菜單的實(shí)例,其中右邊帶有三角形的菜單項(xiàng)表示還可以打開(kāi)下一級(jí)子菜單。在VisualBasic中,最多可以建立六級(jí)菜單。(2)彈出式菜單。快捷菜單又稱(chēng)“上下文菜單”或“彈出式菜單”,是一種可以顯示在窗體任何位置并獨(dú)立于菜單欄的浮動(dòng)式菜單。一般通過(guò)在某一區(qū)域單擊鼠標(biāo)右鍵的方式激活特定的快捷菜單,鼠標(biāo)單擊的區(qū)域不同,彈出的菜單內(nèi)容一般也不同。例如,字處理軟件Word中的菜單是下拉式菜單,將光標(biāo)指向Word文檔窗體中的任意位置單擊右鍵所彈出的快捷菜單,則是彈出式菜單。圖6-1下拉式菜單的組成2.菜單的組成菜單包括菜單欄、菜單標(biāo)題、菜單項(xiàng)等幾部分。菜單欄在窗口標(biāo)題欄的下方,一般包含多個(gè)菜單標(biāo)題;菜單標(biāo)題是菜單欄中的項(xiàng)目,通常又稱(chēng)主菜單,在一個(gè)菜單標(biāo)題中一般還包括多個(gè)菜單項(xiàng),可以用下拉的方式打開(kāi);菜單項(xiàng)隸屬于菜單標(biāo)題,可以包含菜單命令、分隔線和下一級(jí)子菜單標(biāo)題。與其它可視化對(duì)象一樣,可以對(duì)發(fā)生在菜單上的事件編寫(xiě)事件過(guò)程。在程序設(shè)計(jì)時(shí),VB的菜單又可以稱(chēng)為菜單控件,即每一個(gè)菜單項(xiàng)相當(dāng)于一個(gè)控件,有其屬性。菜單控件只有Click事件,即只能編寫(xiě)響應(yīng)菜單控件單擊事件的事件過(guò)程。在VisualBasic中,菜單被看作是一種特殊控件,每一個(gè)主菜單、子菜單項(xiàng)以及菜單項(xiàng)分隔條都是一個(gè)控件,這些控件同樣擁有一組定義其外觀與行為的屬性和事件。設(shè)計(jì)或運(yùn)行菜單時(shí),用戶(hù)可以對(duì)其屬性進(jìn)行設(shè)置或調(diào)用。例如:Name屬性用于在設(shè)計(jì)時(shí)定義菜單的名稱(chēng),Caption屬性用于設(shè)置菜單的顯示標(biāo)題,Visible屬性用于決定菜單是否可見(jiàn)等。所有的菜單控件都能夠響應(yīng)Click事件,運(yùn)行應(yīng)用程序時(shí),用鼠標(biāo)或鍵盤(pán)選中某一菜單,系統(tǒng)立即調(diào)用該菜單的Click事件,實(shí)現(xiàn)其相應(yīng)的功能。注意:VB中的菜單必須與窗體關(guān)聯(lián),只有在打開(kāi)一個(gè)窗體后,才能定義該窗體中的菜單。3.菜單編輯器(MenuEditor)

“菜單編輯器”是VisaulBasic系統(tǒng)提供的一個(gè)簡(jiǎn)單實(shí)用的工具,可用于交互地設(shè)計(jì)應(yīng)用程序菜單,如添加新菜單、修改或重排已有菜單、刪除已有菜單或給菜單添加特殊的效果等。在集成開(kāi)發(fā)環(huán)境的菜單欄上選擇“工具→菜單編輯器...”選項(xiàng),或在標(biāo)準(zhǔn)工具欄上單擊“菜單編輯器”按鈕,可以彈出“菜單編輯器”對(duì)話框,如圖6-2所示。圖6-2菜單編輯器

在“菜單編輯器”的幫助下,只需要很少的程序代碼,就能設(shè)計(jì)出美觀實(shí)用的應(yīng)用程序菜單。利用菜單編輯器可以創(chuàng)建新的菜單,也可以對(duì)已有菜單進(jìn)行菜單項(xiàng)的增加、修改和刪除,并重新編輯。

“菜單編輯器”分為兩大部分:菜單的屬性設(shè)置部分和編輯菜單部分。編輯區(qū)用于設(shè)置或修改各菜單項(xiàng)的相關(guān)屬性并進(jìn)行編輯,顯示區(qū)列表顯示已定義的菜單和菜單項(xiàng)。

1.菜單屬性設(shè)置(1)“標(biāo)題”(Caption)文本框:對(duì)應(yīng)于Caption屬性,用于輸入菜單項(xiàng)或菜單標(biāo)題的名稱(chēng)(Caption),輸入的菜單標(biāo)題也會(huì)在“菜單控件”列表框中顯示出來(lái)。如果當(dāng)前菜單項(xiàng)要設(shè)置為一個(gè)菜單項(xiàng)分隔條,必須在此輸入一個(gè)連字符”-”號(hào)。如果輸入時(shí)在某個(gè)字母前鍵入一個(gè)”&”符號(hào),該字母就即成為訪問(wèn)鍵。例如,輸入“文件(&F)”,則F為“文件”菜單的訪問(wèn)鍵,程序運(yùn)行時(shí)在窗體上將看到的菜單項(xiàng)標(biāo)題顯示為“文件(F)”,這表示用戶(hù)可以通過(guò)同時(shí)按下鍵盤(pán)上的Alt鍵和F鍵來(lái)選中該菜單項(xiàng)。

注意:每一個(gè)主菜單項(xiàng)和子菜單項(xiàng)都可以定義一個(gè)訪問(wèn)鍵,但是同一級(jí)菜單項(xiàng)的訪問(wèn)鍵不能重復(fù)。例如,MicrosoftWord中主菜單項(xiàng)“表格”與“文件”主菜單項(xiàng)下的“另存為”子菜單項(xiàng)的訪問(wèn)鍵均為A,而在“文件”主菜單的一級(jí)子菜單中,決不會(huì)出現(xiàn)另一個(gè)子菜單項(xiàng)的訪問(wèn)鍵也為A的情況。(2)“名稱(chēng)”(Name)文本框:對(duì)應(yīng)于Name屬性,用于輸入菜單控件名稱(chēng)(Name)。與窗體中的其它對(duì)象一樣,窗體中的每一個(gè)菜單項(xiàng)或菜單標(biāo)題對(duì)象都是窗體中的控件,必須為每個(gè)菜單控件命名。

(3)“索引”(Index)文本框:對(duì)應(yīng)于Index屬性,用于設(shè)置菜單控件數(shù)組中某成員的索引值(即下標(biāo))。可以為幾個(gè)連續(xù)的菜單項(xiàng)定義相同的控件名,并為每個(gè)菜單項(xiàng)加上索引值(0、1、2、…),組成菜單控件數(shù)組。菜單控件數(shù)組指的是一組具有相同菜單名稱(chēng)、而又具有不同屬性值的菜單控件,它們共享事件過(guò)程,例如,Menu1(0)、Menu1(1)、Menu1(2)……等。菜單控件數(shù)組中,每一個(gè)成員的索引值應(yīng)是唯一的,所有成員必須屬于同一級(jí)菜單項(xiàng),并且各成員在菜單控件列表框中是連續(xù)的,即其索引值必須以0、1、2…的次序設(shè)置。利用菜單控件數(shù)組,通過(guò)編寫(xiě)程序代碼,就可以在程序運(yùn)行時(shí)實(shí)現(xiàn)菜單項(xiàng)的動(dòng)態(tài)增減。

(4)“快捷鍵”(ShortCutKey)列表框:提供一個(gè)快捷鍵列表,包括Ctrl+A、Ctrl+B、…、Ctrl+Z、F1、F2、…、F12、Ctrl+Fl、Ctrl+F2、…、Ctrl+F12等復(fù)合鍵,供用戶(hù)為某菜單項(xiàng)選擇快捷鍵。缺省值為none,表示不設(shè)置快捷鍵??旖萱I的一般格式是組合鍵Ctrl+“字母鍵”。除主菜單項(xiàng)外,任何一個(gè)菜單項(xiàng)都可以有快捷鍵。一旦選定了一個(gè)快捷鍵,該快捷鍵必須是唯一的,即不能與本應(yīng)用程序中的其他任何級(jí)別菜單項(xiàng)的快捷鍵重復(fù)。程序運(yùn)行時(shí),快捷鍵會(huì)自動(dòng)出現(xiàn)在菜單項(xiàng)標(biāo)題的右邊,按下快捷鍵即可立即選中所對(duì)應(yīng)的菜單項(xiàng),就像用鼠標(biāo)直接單擊該菜單項(xiàng)那樣執(zhí)行相應(yīng)的事件程序。通常,應(yīng)該為程序中頻繁使用的菜單項(xiàng)指定快捷鍵。快捷鍵與訪問(wèn)鍵都可以使用戶(hù)更便捷地操作菜單,但是要注意二者之間的差別。(5)“幫助上下文ID”(HelpContextID)文本框:對(duì)應(yīng)于HelpContextID屬性,在設(shè)計(jì)幫助菜單時(shí),輸入幫助文件的上下文的標(biāo)識(shí)符,即Help文件的上下文的ID號(hào)。⑹“協(xié)調(diào)位置”(NegotiatePosition)列表框:對(duì)應(yīng)于菜單控件的NegotiatePosition屬性,確定該菜單在窗體中是否或如何出現(xiàn)。每個(gè)菜單控件都有NegotiatePosition屬性,該屬性決定在激活鏈接或嵌入的對(duì)象菜單時(shí),窗體頂層菜單中哪些菜單顯示,哪些菜單不可見(jiàn)。該屬性有四個(gè)可選的值:

0-None:缺省值,菜單項(xiàng)不顯示。

1-Left:菜單項(xiàng)左顯示。

2-Middle:菜單項(xiàng)居中顯示。

3-Right:菜單項(xiàng)右顯示。⑺“復(fù)選”(Checked)復(fù)選框:對(duì)應(yīng)于Checked屬性。用于設(shè)置當(dāng)該菜單項(xiàng)顯示時(shí),是否在其左邊出現(xiàn)一個(gè)提示性標(biāo)記“√”,表示該菜單項(xiàng)是否被選中。如果選定該檢查框,則相應(yīng)該菜單項(xiàng)控件的Checked屬性值變?yōu)門(mén)rue,反之為False。⑻“有效”復(fù)選框:用于設(shè)置菜單控件的Enabled屬性。菜單控件的Enabled屬性決定該菜單項(xiàng)在菜單中是否有效。若某菜單項(xiàng)無(wú)效,則呈暗色,表示不可用。如Word的“文件”菜單中,當(dāng)未打開(kāi)文件時(shí),菜單中的“關(guān)閉”菜單項(xiàng)是無(wú)效的;打開(kāi)某個(gè)文件后,菜單中的“關(guān)閉”菜單項(xiàng)變成有效。⑼“可見(jiàn)”(Visible)復(fù)選框:決定菜單項(xiàng)是否可見(jiàn),對(duì)應(yīng)于Visible屬性。如果選中該檢查框,表示Visible屬性值為T(mén)rue,運(yùn)行時(shí)該菜單項(xiàng)可見(jiàn),反之不可見(jiàn)。若一個(gè)菜單項(xiàng)不可見(jiàn),則該菜單項(xiàng)的所有子菜單都是不可見(jiàn)的。⑽“顯示窗口列表”(WindowList)復(fù)選框:用于設(shè)置菜單控件的WindowList屬性。只適用于多文檔(MDl)界面,用于設(shè)定在菜單控件上是否顯示所打開(kāi)的MDI子窗體標(biāo)題列表。在菜單中只能有一個(gè)菜單項(xiàng)的該檢查框被選中。

2.菜單的編輯(1)“菜單控件”列表框:列出當(dāng)前窗體中已建立的菜單控件。從列表框中選取一個(gè)已存在的菜單項(xiàng),可以編輯該菜單的屬性。菜單控件在列表框中的位置決定了該控件是菜單標(biāo)題、菜單項(xiàng)、子菜單標(biāo)題,還是子菜單項(xiàng)。位于列表框中與左邊界平齊的菜單控件:作為菜單標(biāo)題顯示在菜單欄中。在列表框中被“....”縮進(jìn)的菜單控件:作為菜單項(xiàng)出現(xiàn)在其前導(dǎo)菜單標(biāo)題的菜單上,單擊其前導(dǎo)的菜單標(biāo)題時(shí)才會(huì)在該菜單上顯示。縮進(jìn)的菜單控件:如果后面還緊跟著再次縮進(jìn)的一些菜單控件,將成為一個(gè)子菜單的標(biāo)題。在子菜單標(biāo)題以下縮進(jìn)的各個(gè)菜單控件,將成為該子菜單的菜單項(xiàng)。

(2)編輯命令:包括左、右、上、下箭頭命令按鈕和編輯命令按鈕,用于編輯“菜單控件”列表框中的菜單控件。左、右箭頭命令按鈕:用于編輯菜單控件的縮進(jìn)級(jí),每單擊一次右箭頭按鈕,將使該菜單控件縮進(jìn)一級(jí)。在菜單編輯器中每縮進(jìn)一級(jí),在菜單控件前加四個(gè)點(diǎn)(....);每單擊一次左箭頭按鈕,刪除(或減少)菜單控件的一個(gè)縮進(jìn)級(jí)。上、下箭頭命令按鈕:用于將條形光標(biāo)所在菜單控件移到所需位置,上箭頭將所選菜單項(xiàng)向上移動(dòng),下箭頭將所選菜單項(xiàng)向下移動(dòng)。

“下一個(gè)”命令按鈕:將光標(biāo)移到下一個(gè)菜單項(xiàng),當(dāng)條形光標(biāo)處于菜單控件列表的末尾時(shí)按“下一個(gè)”按鈕,則添加一個(gè)新的菜單項(xiàng),且縮進(jìn)級(jí)與上一個(gè)菜單項(xiàng)相同。

“插入”命令按鈕:用于插入一個(gè)菜單項(xiàng)。單擊“插入”按鈕,在條形光標(biāo)所在的菜單項(xiàng)前面插入一個(gè)菜單項(xiàng),插入的菜單項(xiàng)的縮進(jìn)級(jí)與插入前的菜單項(xiàng)的縮進(jìn)級(jí)相同。

“刪除”命令按鈕:用于刪除一個(gè)菜單項(xiàng)。單擊“刪除”按鈕,刪除條形光標(biāo)所在的菜單項(xiàng)。菜單控件是窗體中對(duì)象,與VB中的其它對(duì)象一樣,具有定義其外觀與行為的屬性。菜單控件的屬性可用“菜單編輯器”設(shè)置,也可以在程序中用賦值語(yǔ)句設(shè)置。6.1.2創(chuàng)建下拉式菜單

菜單編輯器提供了創(chuàng)建應(yīng)用程序菜單的工具,可以方便地在菜單欄建立下拉式菜單。在編輯菜單時(shí),逐項(xiàng)地輸入、編輯和設(shè)定要建立的菜單和菜單項(xiàng)屬性,即可在窗體上建立下拉菜單。[例6-1]設(shè)計(jì)如圖6-3所示的下拉式菜單。當(dāng)選擇“顯示”主菜單下的“日期”子菜單時(shí),在窗體上顯示當(dāng)前的日期;選擇“顯示”菜單下的“時(shí)間”子菜單時(shí),在窗體上顯示當(dāng)前時(shí)間;選擇“退出”子菜單,結(jié)束程序運(yùn)行;選擇“幫助”菜單下的“關(guān)于”子菜單,彈出圖6-4所示的消息對(duì)話框。圖6-3日期/時(shí)間顯示程序

圖6-4關(guān)于對(duì)話框

[分析]

應(yīng)用程序通常都有菜單。對(duì)于大型的應(yīng)用程序,在設(shè)計(jì)菜單之前,首先需要將完整的菜單結(jié)構(gòu)在草圖上先畫(huà)出來(lái),并詳細(xì)列出菜單的組成,然后再進(jìn)入VB集成開(kāi)發(fā)環(huán)境中進(jìn)行具體創(chuàng)建。創(chuàng)建下拉式菜單的步驟如下:(1)在應(yīng)用程序工程中,打開(kāi)要建立下拉式菜單的窗體。(2)打開(kāi)菜單編輯器,進(jìn)行菜單編輯。(3)在代碼窗口中編寫(xiě)各菜單、菜單項(xiàng)所對(duì)應(yīng)的Click事件過(guò)程。(4)運(yùn)行程序,測(cè)試各個(gè)菜單項(xiàng)的功能。(5)保存工程。

[設(shè)計(jì)菜單結(jié)構(gòu)]

假設(shè)本例的菜單數(shù)據(jù)如表6-1所示。

表6-1應(yīng)用程序菜單結(jié)構(gòu)菜單項(xiàng)標(biāo)題名稱(chēng)級(jí)別備注主菜單項(xiàng)1顯示(&D)MnuDisplay主菜單子菜單項(xiàng)11日期(&D)Mnudate一級(jí)子菜單快捷鍵為<Ctrl>+<D>子菜單項(xiàng)12時(shí)間(&T)Mnutime一級(jí)子菜單快捷鍵為<Ctrl>+<T>子菜單項(xiàng)13-Mnul3一級(jí)子菜單分隔條子菜單項(xiàng)14退出(&X)Mnuexit—級(jí)子菜單快捷鍵為<Ctrl>+<X>主菜單項(xiàng)1幫助(&H)Mnuhelp主菜單子菜單項(xiàng)21關(guān)于(&A)Mnuabout一級(jí)子菜單快捷鍵為<Ctrl>+<A>[編輯菜單]

在窗體設(shè)計(jì)器中打開(kāi)并選定要建立菜單的窗體Form1,打開(kāi)菜單編輯器,按照表6-1在菜單編輯器中編輯菜單。例如,在定義好第一個(gè)主菜單項(xiàng)“顯示(D)”后,單擊菜單編輯器中“下一個(gè)”按鈕,在空白的標(biāo)題輸入框、名稱(chēng)輸入框中依次輸入“日期(&D)”和“Mnudate”,選擇快捷鍵Ctrl+D,且選中“有效”、“可見(jiàn)”檢查框,該菜單項(xiàng)即出現(xiàn)在菜單編輯器顯示區(qū)中,接著單擊右箭頭按鈕,使之向右縮進(jìn),設(shè)定為一級(jí)子菜單,完成子菜單項(xiàng)“日期(&T)”的編輯工作。依次編輯各個(gè)菜單項(xiàng)。菜單編輯完成后,單擊“確定”按鈕,關(guān)閉菜單編輯器,新建菜單出現(xiàn)在窗體Form1上,但這時(shí)并不能真正起作用。[編寫(xiě)Click事件過(guò)程]

對(duì)有關(guān)的菜單項(xiàng)編寫(xiě)相應(yīng)的Click事件過(guò)程,使相應(yīng)菜單項(xiàng)完成具體功能。本例中,需對(duì)“日期”、“時(shí)間”、“退出”和“關(guān)于”三個(gè)菜單項(xiàng)的Click事件進(jìn)行編程,以實(shí)現(xiàn)所要求的功能。分隔條一般在菜單中只起分組或分隔的作用,不需對(duì)其編程。選定窗體Form1,打開(kāi)代碼窗口,在對(duì)象列表框中依次找到nmudate、mnutime、mnuexit和mnuabout菜單項(xiàng)名稱(chēng),并選擇Click事件編寫(xiě)事件過(guò)程的代碼。程序代碼如下:

PrivateSubmnudate_Click()Print”今天是:”&Year(Date)&“年”&Month(Date)&“月”&Day(Date)&“日”

EndSubPrivateSubmnutime_Click()Print”現(xiàn)在是北京時(shí)間:“&TimeEndSubPrivateSubmnuexit_Click()EndEndSubPrivateSubmnuabout_Click()MsgBox”作者:許靜”+Chr(10)+Chr(10)+“2000年12月1日”,,”關(guān)于”

EndSub[運(yùn)行結(jié)果]運(yùn)行程序,測(cè)試菜單功能是否正常。如果有問(wèn)題,則終止程序執(zhí)行,檢查菜單設(shè)計(jì)與代碼是否正確,修改后再運(yùn)行,直至應(yīng)用程序正確為止。程序運(yùn)行結(jié)果如圖6-5所示。圖6-5日期/時(shí)間顯示程序運(yùn)行界面[總結(jié)與提高]

1.用“菜單編輯器”創(chuàng)建菜單控體的基本步驟:(1)選取要建立菜單的窗體;(2)在菜單欄上選擇“工具→菜單編輯器”選項(xiàng),或在“工具欄”上單擊“菜單編輯器”按鈕。(3)在“標(biāo)題”文本框輸入第一個(gè)菜單的標(biāo)題。用(&)字符指定某個(gè)字符作為該菜單項(xiàng)的熱鍵。(4)在“名稱(chēng)”文本框中輸入菜單控件的名稱(chēng)(Name屬性)。(5)單擊左箭頭或右箭頭按鈕,改變?cè)摬藛慰丶目s進(jìn)級(jí)。⑹設(shè)置菜單控件的其他屬性。⑺選取“下一個(gè)”按鈕,再建一個(gè)菜單控件;或單擊“插入”按鈕,在選取的控件前增加一個(gè)菜單控件;也可以單擊上箭頭或下箭頭按鈕,在現(xiàn)有菜單控件中移動(dòng)控件。⑻完成窗體所有的菜單控件的建立后,選取“確定”可關(guān)閉菜單編輯器。用上述方法創(chuàng)建的菜單標(biāo)題將顯示在窗體上。程序設(shè)計(jì)時(shí),單擊一個(gè)菜單標(biāo)題,可下拉其相應(yīng)的菜單項(xiàng);再單擊菜單項(xiàng),可以打開(kāi)代碼窗口。注意:為提高代碼可讀性和易維護(hù)性,設(shè)置菜單的Name屬性時(shí),應(yīng)該遵循命名約定或方法。在VisualBasic中,一般用前綴來(lái)標(biāo)識(shí)對(duì)象(即菜單控件用mnu),其后緊跟頂層菜單的名稱(chēng)(如File)。對(duì)于子菜單,其后再緊跟該子菜單的標(biāo)題(如mnuFileOpen等)。2.設(shè)置菜單項(xiàng)標(biāo)題的原則(1)菜單項(xiàng)的標(biāo)題最好唯一,但不同菜單中相似操作項(xiàng)目可以重名。(2)菜單標(biāo)題可以是單詞、復(fù)合詞或者多個(gè)詞。應(yīng)盡量簡(jiǎn)短而又能表達(dá)一定的意義。(3)每一個(gè)菜單項(xiàng)都應(yīng)設(shè)置熱鍵字符,熱鍵字符應(yīng)使用菜單標(biāo)題的第一個(gè)字母;同一級(jí)菜單中的兩個(gè)菜單標(biāo)題中不能用同一個(gè)熱鍵字符。(4)如果命令在完成前還需要附加信息,應(yīng)在標(biāo)題后面加省略號(hào)(…)。例如,顯示一個(gè)對(duì)話框的命令(“另存為…”,“選項(xiàng)…”)。

3.設(shè)置菜單分隔條分隔符條可把菜單項(xiàng)劃分成若干個(gè)邏輯組,分隔條作為菜單項(xiàng)間的一個(gè)水平行顯示在菜單上。以連字符(-)作為Caption屬性的菜單控件為菜單設(shè)置一個(gè)分隔符條。在菜單編輯器中創(chuàng)建分隔符條的方法如下:(1)在菜單編輯器中選取“插入”按鈕,在要分隔開(kāi)來(lái)的菜單項(xiàng)之間插入一個(gè)菜單控件。(2)如有必要,單擊右箭頭按鈕,使新菜單項(xiàng)縮進(jìn)到與其隔開(kāi)的菜單項(xiàng)同級(jí)。(3)在“標(biāo)題”文本框中鍵入字符“-”,并設(shè)置“名稱(chēng)”屬性。(4)插入其它分隔條,完成后單擊“確定”按鈕,關(guān)閉菜單編輯器。

注意:雖然分隔符條是作為菜單控件來(lái)創(chuàng)建的,但不響應(yīng)Click事件,也不能被選取。作為分隔符條的菜單項(xiàng)屬性不能設(shè)置為復(fù)選、無(wú)效,也不能設(shè)置快捷鍵或帶有子菜單項(xiàng)。

4.設(shè)置熱鍵和快捷鍵通過(guò)定義熱鍵和快捷鍵可使用鍵盤(pán)對(duì)應(yīng)用程序的菜單命令進(jìn)行訪問(wèn),以提高操作速度。(1)設(shè)置熱鍵在菜單標(biāo)題中用標(biāo)記字符&說(shuō)明用哪一個(gè)字母作為熱鍵字符。例如,若使用&D,將在菜單的括號(hào)中顯示一個(gè)帶下劃線的字母D,則字符D為熱鍵。熱鍵允許在按下Alt鍵的同時(shí)鍵入一個(gè)字符來(lái)打開(kāi)一個(gè)菜單。一旦菜單打開(kāi),通過(guò)按下所賦值的熱鍵字符可選取菜單。例如,在Word中按下Alt+E鍵,可打開(kāi)“編輯”菜單,再按P鍵,可選取“粘貼”菜單項(xiàng)。在菜單編輯器中給菜單控件設(shè)置熱鍵的方法如下:①選取要賦值熱鍵的菜單項(xiàng)。②在“標(biāo)題”文本框中,在作為熱鍵字符的前面直接鍵入一個(gè)“&”字符。

注意:菜單中不能使用重復(fù)的熱鍵。若多個(gè)菜單項(xiàng)使用同一熱鍵,則退出菜單編輯器時(shí)會(huì)出錯(cuò)。

(2)設(shè)置快捷鍵按下快捷鍵時(shí)可以立刻運(yùn)行一個(gè)菜單命令。使用熱鍵需要三步操作:先按住Alt鍵,再按菜單標(biāo)題訪問(wèn)字符,再按菜單項(xiàng)訪問(wèn)字符。快捷鍵提供一種鍵盤(pán)單步執(zhí)行菜單命令的快捷訪問(wèn)方法,可以為頻繁使用的菜單項(xiàng)指定一個(gè)快捷鍵。為菜單項(xiàng)設(shè)置快捷鍵的方法如下:①選取菜單項(xiàng)。②在“快捷鍵”下拉列表框中選取功能鍵或者鍵的組合。若要?jiǎng)h除快捷鍵,可直接選取快捷鍵列表框中的“(none)”。6.1.3創(chuàng)建快捷菜單

快捷菜單可以根據(jù)單擊鼠標(biāo)右鍵時(shí)的位置靈活改變彈出的菜單內(nèi)容,使用戶(hù)操作更快捷。[例6-2]利用快捷菜單變換窗體的背景色。

[分析]

快捷菜單也是用菜單編輯器構(gòu)造,操作步驟如下:(1)選定欲創(chuàng)建快捷菜單的窗體,打開(kāi)菜單編輯器。(2)在菜單編輯器中,將要彈出的菜單按下拉式菜單的編輯方法進(jìn)行編輯,同時(shí)將其對(duì)應(yīng)頂級(jí)主菜單項(xiàng)的Visible屬性設(shè)為False,即不選中“可見(jiàn)”復(fù)選框,使快捷菜單在程序運(yùn)行時(shí)不出現(xiàn)在菜單欄中。(3)打開(kāi)代碼編輯器,編寫(xiě)各菜單項(xiàng)的Click事件過(guò)程。此外,在程序中還需要利用窗體對(duì)象的菜單彈出方法PopupMenu控制快捷菜單的顯示。

PopupMenu方法的格式:

[窗體名.]PopupMenu<菜單名>[,flags1[,x][,yl[,boldcommand]說(shuō)明:①窗體名表示要彈出菜單的窗體名稱(chēng),默認(rèn)為當(dāng)前窗體。②菜單名是要彈出的菜單名稱(chēng),一般是至少包含一個(gè)子菜單項(xiàng)的主菜單項(xiàng)名稱(chēng)。③flags為可選參數(shù),用于設(shè)定菜單彈出的位置和行為,位置常數(shù)和行為常數(shù)分別如表6-2和表6-3所示。若同時(shí)指定這兩個(gè)常數(shù),可用“邏輯或”運(yùn)算符(Or)將二者結(jié)合起來(lái),例如:4or2。參數(shù)常數(shù)說(shuō)明VbPopupMenuLeftAlign0(默認(rèn)值)快捷菜單的左邊定位于xVbPopupMenuCenterAlign4快捷菜單的居中定位于xVbPopupMenuRightAlign8快捷菜單的右邊定位于x表6-2

flags參數(shù)中的位置常數(shù)表6-3flags參數(shù)中的行為常數(shù)參數(shù)常數(shù)說(shuō)明VbPopupMenuLeftButton0(默認(rèn)值)僅當(dāng)使用鼠標(biāo)左按鈕時(shí),快捷菜單中的項(xiàng)目才響應(yīng)鼠標(biāo)單擊VbPopupMenuRightButton2不論使用鼠標(biāo)右按鈕還是左按鈕,快捷菜單中的項(xiàng)目都響應(yīng)鼠標(biāo)單擊④x和y兩個(gè)可選參數(shù)用于指定快捷菜單的彈出位置,默認(rèn)為在當(dāng)前鼠標(biāo)位置彈出菜單。⑤boldcommand參數(shù)指定在快捷菜單中標(biāo)題加粗顯示的菜單項(xiàng)名稱(chēng)。在一個(gè)快捷菜單中,只能設(shè)定一個(gè)菜單項(xiàng)加粗顯示。(4)運(yùn)行程序,測(cè)試快捷菜單的功能。(5)保存工程。[程序代碼]PrivateSubfred_Click()Form1.BackColor=vbRedEndSubPrivateSubfgreen_Click()Form1.BackColor=vbGreenEndSubPrivateSubfblue_Click()Form1.BackColor=vbBlueEndSubPrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

‘調(diào)用快捷菜單Fcolor,并將"紅色"菜單項(xiàng)設(shè)置為黑體顯示

IfButton=2ThenPopupMenufcolor,,,,fredEndSub[總結(jié)與提高]1.菜單程序設(shè)計(jì)用菜單編輯器完成菜單設(shè)計(jì)后,關(guān)閉菜單編輯器,所創(chuàng)建的菜單將顯示在窗體上,用鼠標(biāo)單擊主菜單項(xiàng),可以下拉相應(yīng)的菜單并顯示各菜單項(xiàng)。菜單建立并編輯后,還必須為菜單項(xiàng)編寫(xiě)程序代碼,以響應(yīng)用戶(hù)的操作。菜單控件有唯一的Click事件,在窗體上選取一個(gè)菜單項(xiàng)單擊將進(jìn)入代碼窗口并顯示菜單控件的Click事件過(guò)程。除分隔符條以外的所有菜單控件(包括無(wú)效的或不可見(jiàn)的菜單控件)都能識(shí)別Click事件。在代碼窗口中,應(yīng)該為窗體中每個(gè)菜單項(xiàng)的菜單控件編寫(xiě)一個(gè)Click事件過(guò)程。在菜單事件過(guò)程中編寫(xiě)的代碼與在控件任何其它事件過(guò)程中編寫(xiě)的代碼完全相同。[運(yùn)行結(jié)果]如圖6-6所示。圖6-6窗體背景色變換界面2.設(shè)計(jì)彈出式菜單彈出式菜單又稱(chēng)快捷菜單,是顯示于窗體或其它對(duì)象之上、獨(dú)立于菜單欄的浮動(dòng)式菜單(參見(jiàn)圖6-6)。顯示在彈出式菜單上的菜單項(xiàng)取決于鼠標(biāo)右鍵按下時(shí)指針的位置,因此,彈出式菜單又稱(chēng)為上下文菜單??梢詫⒁言O(shè)計(jì)的下拉式菜單顯示成彈出式菜單,首先需要確定由哪個(gè)事件觸發(fā)彈出式菜單。彈出式菜單一般是通過(guò)單擊鼠標(biāo)右鍵彈出的菜單,因此,可以選用鼠標(biāo)的MouseUp事件或MouseDown事件。任何的至少有一個(gè)子菜單項(xiàng)的菜單,運(yùn)行時(shí)都可以顯示為彈出式菜單。使用對(duì)象的PopupMenu方法可顯示彈出式菜單。[例6-3]當(dāng)用戶(hù)單擊一個(gè)命令按鈕時(shí),顯示一個(gè)上邊框在窗體中心的彈出式菜單。菜單由用戶(hù)在窗體上單擊鼠標(biāo)右鍵時(shí)彈出。

[程序代碼]PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

IfButton=2Then

Dimxloc,yloc ‘X變量和Y變量的尺寸。

xloc=ScaleWidth/2 ‘設(shè)置X變量和Y變量到窗體中心。

yloc=ScaleHeight/2

PopupMenumnuEdit,vbPopupMenuCenterAlignOr_

vbPopupMenuRightButton,xloc,yloc ‘顯示彈出式菜單。

EndIfEndSub6.2工具欄的設(shè)計(jì)

工具欄一般都含有圖形工具欄按鈕,它提供了對(duì)于應(yīng)用程序中最常用命令的快捷訪問(wèn)方式。利用工具欄控件可以方便地將常用命令建成工具欄按鈕,并為按鈕指定圖像、文字和工具提示,構(gòu)成應(yīng)用程序的工具欄。工具欄控件一般需要與圖像列表控件配合使用,由圖像列表控件提供所要顯示的工具欄按鈕圖標(biāo)。工具欄放置在窗體上時(shí),自動(dòng)位于窗體上方,并隨窗體大小而改變其寬度。通過(guò)設(shè)置、修改屬性,可改變工具欄的外觀。工具欄控件屬于ActiveX控件,其中的每一個(gè)按鈕作為一個(gè)Button對(duì)象訪問(wèn),所有按鈕組成一個(gè)Buttons集合。6.2.1用ToolBar控件創(chuàng)建工具欄

ToolBar控件是VisualBasic6.0專(zhuān)業(yè)版和企業(yè)版中用于創(chuàng)建工具欄和圖形工具按鈕的一個(gè)控件,使用ToolBar控件來(lái)創(chuàng)建工具欄非常簡(jiǎn)單方便。[例6-4]為窗體Form1設(shè)計(jì)如圖6-7所示的工具欄。圖6-7工具欄設(shè)計(jì)界面[分析]Toolbar控件是一種ActiveX控件,一般不在控件工具箱內(nèi)顯示。使用ToolBar控件時(shí),必須先將一組與其相關(guān)的控件放入控件工具箱。方法:在菜單欄上選擇“工程→部件”選項(xiàng),在彈出的“部件”對(duì)話框“控件”選項(xiàng)卡中選中“MicrosoftWindowsCommonControls6.0”項(xiàng),單擊“確定”按鈕后,在控件工具箱中增加一組控件,包括ToolBar、TabStrip(選項(xiàng)卡)、StatusBar(狀態(tài)欄)、ProgressBar(進(jìn)度條)和ImageList(圖像列表)控件等。其中,ToolBar控件用于創(chuàng)建工具欄,ImageList控件用于為T(mén)oolBar等控件的按鈕存放圖像。利用這兩個(gè)控件即可創(chuàng)建圖形工具按鈕。在應(yīng)用程序中創(chuàng)建工具欄的操作步驟:(1)在窗體中加入ImageList控件,并在其中插入合適的工具按鈕圖像。(2)利用ToolBar控件在窗體中創(chuàng)建工具欄,并在工具欄中創(chuàng)建一系列的按鈕對(duì)象。(3)在工具欄對(duì)象的“ButtonClick”事件中設(shè)計(jì)程序,響應(yīng)用戶(hù)的按鈕操作。[建立工程]

新建工程,按默認(rèn)名稱(chēng)保存工程為“工程1”,窗體名稱(chēng)保存為Form1。構(gòu)造用戶(hù)界面,在窗體Form1上放置一個(gè)圖像列表控件ImageList1和一個(gè)工具欄控件ToolBar1。

[屬性設(shè)置]

(1)設(shè)置圖像列表控件的屬性:設(shè)計(jì)圖6-7所示的工具欄,需用到3個(gè)按鈕圖形:打開(kāi)、保存和郵件,為此,在圖像列表控件中添加這3個(gè)圖像(假定3個(gè)圖像文件分別為open.save.outlook)。(2)設(shè)置工具欄控件ToolBar1的屬性:在工具欄的的“屬性頁(yè)”對(duì)話框進(jìn)行屬性設(shè)置,如圖6-8所示。圖6-8工具欄“屬性頁(yè)”對(duì)話框中的“通用”選項(xiàng)卡(一)①在“通用”選項(xiàng)卡中的“圖像列表”列表框中選擇ImageList1,使該工具欄控件與ImageList1控件相關(guān)聯(lián),以便為工具欄按鈕指定圖片。新建立的工具欄中無(wú)工具按鈕,通過(guò)工具欄的“屬性頁(yè)”可以在工具欄中添加工具按鈕(建立Button對(duì)象),并在工具按鈕上賦予ImageList中插入的圖像。將圖像賦給各“按鈕”前,必須先將ImageList控件與Toolbar控件關(guān)聯(lián)起來(lái)。建立ImageList控件與Toolbar控件關(guān)聯(lián)的方法:在工具欄的“屬性頁(yè)”對(duì)話框中選擇“通用”選項(xiàng)卡,在“圖表列表”下拉列表框中選擇ImageList控件名稱(chēng)(見(jiàn)圖6-8),則建立了ImageList和Toolbar控件之間的關(guān)聯(lián)。注意:將ImageList控件與Toolbar控件建立關(guān)聯(lián)前,必須先向ImageList控件插入圖像。一旦ImageList控件與Toolbar控件建立關(guān)聯(lián),并將其中任意圖像賦給了控件,就不能再向ImageList控件中添加圖像。提示:在將ImageList控件與某個(gè)Windows的公共控件關(guān)聯(lián)后,就可以用圖像的Index或Key屬性(見(jiàn)表6-5)指定特定的圖像。由于ListImage對(duì)象的Key屬性必須是唯一的字符串,可以用Key屬性代替Index屬性對(duì)圖像進(jìn)行引用,這樣可以使代碼更易讀。②打開(kāi)“按鈕”選項(xiàng)卡,如圖6-9所示,為工具欄控件添加按鈕。圖6-9工具欄“屬性頁(yè)”對(duì)話框中的“通用”選項(xiàng)卡(二)

操作步驟:?jiǎn)螕簟安迦氚粹o”按鈕,添加一個(gè)按鈕,其索引值自動(dòng)設(shè)置為1,在“標(biāo)題”、“關(guān)鍵字”、“描述”和“圖像”文本框中分別輸入“打開(kāi)”、“open”、“打開(kāi)文件”和“1”(即第一個(gè)按鈕對(duì)應(yīng)ImageList1控件的第一個(gè)圖像),單擊“應(yīng)用”按鈕保存。重復(fù)上述步驟,依次添加“保存”和“郵件”兩個(gè)按鈕,即在“關(guān)鍵字”文本框中分別輸入“save”和“outlook”。最后,單擊“確定”按鈕,關(guān)閉“屬性頁(yè)”對(duì)話框,即可在窗體上看到圖6-7所示的工具欄。[程序代碼]

建立工具欄按鈕后,要使工具欄上的每個(gè)按鈕起作用,還需要進(jìn)一步編寫(xiě)B(tài)utton的Click事件過(guò)程,以響應(yīng)每個(gè)按鈕的操作。事件過(guò)程代碼如下:

PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)Text1.FontSize=12SelectCaseButton.KeyCase“open”Text1.Text=“打開(kāi)文件”

Case“save”Text1.Text=“保存文件”

Case“outlook”Text1.Text=“l(fā)inlin@”EndSelectEndSub[代碼說(shuō)明]除占位符和分隔符外,用戶(hù)單擊任意按鈕,都將觸發(fā)工具欄的ButtonClick事件??梢杂冒粹o的Key屬性或Index屬性來(lái)識(shí)別用戶(hù)所按的按鈕。由于在工具欄中一般包括多個(gè)工具按鈕,可以采用SelectCase結(jié)構(gòu)來(lái)編寫(xiě)按鈕功能的程序代碼。以上ButtonClick事件過(guò)程包括一個(gè)ComctlLib.Button按鈕類(lèi)對(duì)象。程序中,Case語(yǔ)句后用到的關(guān)鍵字(如open、prn等)都是“按鈕”對(duì)象的Key屬性值。[運(yùn)行結(jié)果]如圖6-7所示。[總結(jié)與提高]1.圖像列表(ListImage)控件圖像列表控件屬于ActiveX控件,為其它公共控件(如ListView、TabStrip、ToolBar和TreeView等控件)保管圖像,就象一個(gè)圖像倉(cāng)庫(kù)。圖像列表控件中保存的圖像作為一個(gè)ListImages集合來(lái)訪問(wèn),同時(shí),每一個(gè)圖像作為一個(gè)ListImage對(duì)象進(jìn)行操作。將圖像列表控件放置在窗體上的外觀如圖6-10所示,其大小固定,且運(yùn)行時(shí)不可見(jiàn)。圖6-10圖像列表框的外觀

(1)圖像列表控件的常用屬性和方法圖像列表控件本身不能響應(yīng)任何事件,但同樣具有一些常用屬性和方法。①常用屬性:圖像列表控件的常用屬性見(jiàn)表6-4。表6-4圖像列表控件常用屬性屬性名稱(chēng)說(shuō)明BackColor設(shè)置或返回該控件的背景顏色I(xiàn)mageHeight設(shè)置或返回該控件包含的ListImage對(duì)象的高度ImageWidth設(shè)置或返回該控件包含的ListImage對(duì)象的寬度UseMaskColor決定該控件是否使用屏蔽顏色。若設(shè)置為T(mén)rue表示使用屏蔽顏色,否則不使用MaskColor當(dāng)使用屏蔽顏色時(shí),指定一種屏蔽的顏色ListImages該控件所包含的ListImage對(duì)象的集合②常用方法:圖像列表控件的常用方法為OverLay。語(yǔ)法格式:圖像列表控件名.Overlay(Index1,hdex2)

其中,Index1和Index2參數(shù)指定ListImages集合中的兩個(gè)圖像,可用圖像的hdex屬性(整數(shù))或Key屬性(惟一的字符串)來(lái)表示。該方法將Index2指定的圖像疊加在Index1指定的圖像上,生成并返回一幅復(fù)合圖像。例如:setpicture1.picture=imageList1.overlay(1,2)

表示將imageList1控件中的第二個(gè)圖像疊加在第一個(gè)圖像上,并在圖片框Picture1中顯示疊加后的合成圖像。這里Index1和Index2參數(shù)采用的是圖像的Index屬性值。此外,也可以通過(guò)Key屬性引用。例如:

SetPicture1.Picture=ImageList1.Overlay(“First”,”Second”)

其中,“First”和“Second”分別為兩個(gè)圖像的Key屬性值。(2)ListImage對(duì)象的常用屬性

ListImage對(duì)象實(shí)際上為一個(gè)可在其他控件中使用的任意大小的位圖或圖標(biāo),是組成ListImages集合的成員,其常用屬性見(jiàn)表6-5。表6-5ListImage對(duì)象常用屬性屬性名稱(chēng)說(shuō)明Index設(shè)置或返回該對(duì)象在集合中的索引值Key設(shè)置或返回該對(duì)象的惟一的字符串標(biāo)識(shí),用于在ListImages集合中識(shí)別該對(duì)象Picture設(shè)置或返回與該對(duì)象相連的一個(gè)位圖或圖標(biāo)文件(3)ListImages集合的常用屬性和方法

ListImages集合(ListImage對(duì)象的集合)用于為其他控件提供一系列圖像。集合中的每一個(gè)成員都可以通過(guò)其索引或惟一關(guān)鍵字來(lái)訪問(wèn),當(dāng)把ListImage對(duì)象添加到一個(gè)集合中時(shí),這些索引或唯一關(guān)鍵字被分別存儲(chǔ)在Index和Key屬性中。

ListImages集合的常用屬性為Count屬性,用于返回ListImage集合中已有的圖像數(shù)目。語(yǔ)法格式:圖像列表控件名.ListImages.CountListImages集合擁有一組標(biāo)準(zhǔn)的集合方法,用來(lái)在程序運(yùn)行中操作ListImage對(duì)象,實(shí)現(xiàn)添加或刪除圖像的操作。

以下是幾個(gè)常用的方法:①Add方法:添加一個(gè)ListImage對(duì)象到ListImages集合中,并返回這個(gè)最新創(chuàng)建的對(duì)象引用。語(yǔ)法格式:圖像列表控件名.Listlmages.Add(Index,key,picture)

其中,Index參數(shù)可選,指定要插入ListImage對(duì)象的位置。若省略則ListImage對(duì)象被添加到ListImages集合的末尾。key參數(shù)是用來(lái)標(biāo)識(shí)ListImage對(duì)象的唯一關(guān)鍵字字符串,若該關(guān)鍵字不唯一,將會(huì)產(chǎn)生一個(gè)錯(cuò)誤。必選參數(shù)picture決定欲添加到集合中的位圖或者圖標(biāo),可用LoadPicture函數(shù)加載,例如:

DimImgXAsListImageSetimgX=ImageList1.ListImages.Add(,,LoadPicture("c:\Myfile.bmp"))

此外,也可以直接將Picture對(duì)象加載到ListImage對(duì)象中,例如:

SetimgX=ImageList1.ListImages.Add(2,,Picture1.Picture)

該語(yǔ)句把圖片框控件Picture1的圖片加載到ListImage對(duì)象中,并添加該對(duì)象到ListImages集合的第二個(gè)成員處。

如果ListImages集合中還沒(méi)有添加任何ListImage對(duì)象,可在添加第一個(gè)ListImage對(duì)象之前設(shè)置ImageHeight和ImageWidth屬性,允許添加任意大小的圖像到集合中。但是,當(dāng)ImageList控件被用來(lái)向另一個(gè)Windows公用控件提供圖像時(shí),添加到集合中的圖像將會(huì)以ImageHeight和ImageWidth屬性指定的大小顯示在相應(yīng)的Windows公用控件中。一旦有一個(gè)ListImage對(duì)象被添加到集合中,ImageHeight和ImageWidth就變?yōu)橹蛔x屬性。②Clear方法:清除ListImages集合中已有的全部ListImage對(duì)象,即刪除圖像列表控件中所裝入的全部圖像。語(yǔ)法格式:圖像列表控件名.ListImages.Clear③Remove方法:從ListImages集合中刪除一個(gè)ListImage對(duì)象,即刪除圖像列表控件中的一個(gè)圖像。語(yǔ)法格式:圖像列表控件名.ListImages.Removeindex

其中,參數(shù)index指定被刪除對(duì)象在集合中的索引或關(guān)鍵字。例如,

ListImage1.ListImages.Remove1

執(zhí)行該語(yǔ)句將刪除Listlmages集合中的第一個(gè)ListImage對(duì)象。(4)圖像列表控件的屬性設(shè)置圖像列表控件可以通過(guò)“屬性頁(yè)”對(duì)話框進(jìn)行屬性設(shè)置。用鼠標(biāo)右鍵單擊窗體上放置的圖像列表控件,在彈出的快捷菜單中選擇“屬性”選項(xiàng),彈出“屬性頁(yè)”對(duì)話框,如圖6-11所示,其中包括“通用”、“圖像”和“顏色”三個(gè)選項(xiàng)卡。圖6-11圖像列表控件的“屬性頁(yè)”對(duì)話框①“通用”選項(xiàng)卡(見(jiàn)圖6-11):用于設(shè)置圖形的高度和寬度(單位為像素),以及是否使用屏蔽顏色。②“顏色”選項(xiàng)卡:用來(lái)設(shè)置圖像的背景色和屏蔽顏色,一般可采用默認(rèn)值。一旦設(shè)定使用屏蔽顏色,在“顏色”選項(xiàng)卡中指定的屏蔽顏色在圖形操作時(shí)將以透明的方式顯示。③“圖像”選項(xiàng)卡(見(jiàn)圖6-12):用于設(shè)定圖像文件的有關(guān)信息,同時(shí)還可添加或刪除圖像。圖6-12“圖像”選項(xiàng)卡添加圖像的方法如下:?jiǎn)螕簟安迦雸D片”按鈕,彈出“選定圖片”對(duì)話框,如圖6-13所示。圖6-13“選定圖片”對(duì)話框

從中選取要添加的圖片文件后,單擊“打開(kāi)”按鈕,關(guān)閉該對(duì)話框。此時(shí)在“圖像”選項(xiàng)卡圖像欄出現(xiàn)剛才選定的圖片,其索引值自動(dòng)設(shè)置為1,并允許用戶(hù)為該圖像輸入其關(guān)鍵字標(biāo)識(shí)和標(biāo)記。重復(fù)前兩步,可添加多個(gè)對(duì)象,結(jié)果如圖6-14所示。單擊“確定”按鈕,將全部圖像保存到圖像列表控件中。另外,在“圖像”選項(xiàng)卡中選定一個(gè)圖像欄內(nèi)的圖像后,單擊“刪除圖片”按鈕將從圖像列表控件中刪除該圖像。圖6-14添加圖片后的“圖像”選項(xiàng)卡2.工具欄控件工具欄控件一般需要與圖像列表控件配合使用,由圖像列表控件提供所要顯示的工具欄按鈕的圖標(biāo)。(1)工具欄控件的常用屬性、方法和事件①常用屬性:工具欄有許多屬性,常用的屬性如表6-6所示。表6-6工具欄常用屬性屬性名稱(chēng)說(shuō)明Align決定工具欄控件在窗體中的顯示位置及大小。默認(rèn)值為0表示可以在設(shè)計(jì)時(shí)或在程序中確定大小和位置;其值為1~4,分別表示工具欄顯示在窗體的頂部、底部、左邊和右邊,且隨窗體自動(dòng)調(diào)整寬度ImageList設(shè)定與本控件相關(guān)聯(lián)的ImageList控件名稱(chēng)續(xù)表屬性名稱(chēng)說(shuō)明Style設(shè)定工具欄中按鈕的外觀。其值可為0~2,默認(rèn)值0表示標(biāo)準(zhǔn)工具欄;1表示按鈕和工具欄都是透明的,且按鈕文本出現(xiàn)在按鈕位圖下面并啟動(dòng)熱跟蹤;2表示按鈕和工具欄都是透明的,按鈕文本出現(xiàn)在按鈕位圖右邊并啟動(dòng)熱跟蹤ShowTips決定當(dāng)鼠標(biāo)指針在工具欄的某個(gè)按鈕上暫停時(shí),是否顯示該按鈕的提示文本,默認(rèn)值為T(mén)rueToolTipText當(dāng)ShowTips屬性設(shè)為T(mén)rue時(shí),設(shè)定要顯示的提示文本W(wǎng)rapenable決定當(dāng)重新設(shè)置窗體的大小時(shí),工具欄控件按鈕是否自動(dòng)換行。默認(rèn)值為T(mén)rueButtons工具欄控件的Button對(duì)象集合②常用方法:工具欄的常用方法除Move、Refresh外,還有一些特殊方法,如表6-7所示。表6-7工具欄常用方法方法名稱(chēng)說(shuō)明Customize當(dāng)AllowCustomlze屬性設(shè)置丁true時(shí),調(diào)用”自定義工具欄”對(duì)話框,重新安排或隱藏工具欄上的Button對(duì)象RestoreToolbar將工具欄控件創(chuàng)建的工具欄恢復(fù)到自定義后的最初狀態(tài)SaveToolbar在運(yùn)行時(shí),把用工具欄控件創(chuàng)建的工具欄的狀態(tài)保存在注冊(cè)表中③常用事件:工具欄控件的常用事件主要有ButtonClick和Click事件。單擊工具欄控件時(shí)觸發(fā)Click事件,單擊工具欄上的按鈕時(shí)觸發(fā)ButtonClick事件,并返回一個(gè)Button參數(shù),表示用戶(hù)單擊哪一個(gè)按鈕。程序中一般都需要對(duì)ButtonClick事件進(jìn)行編程,實(shí)現(xiàn)各個(gè)按鈕的特定功能。(2)Button對(duì)象的常用屬性在程序中,工具欄按鈕對(duì)應(yīng)于Button對(duì)象,其常用屬性如表6-8所示。表6-8Button對(duì)象常用屬性屬性名稱(chēng)說(shuō)明Caption設(shè)置或返回該對(duì)象在集合中的標(biāo)題Index設(shè)置或返回該對(duì)象在集合中的索引值Key設(shè)置或返回該對(duì)象在Buttons集合中的惟一的字符串標(biāo)識(shí)Image設(shè)置或返回在該對(duì)象上顯示的圖像,其值為該圖像在圖像列表控件中的Index屬性值Style決定該對(duì)象的外觀與狀態(tài),默認(rèn)值為0表示標(biāo)準(zhǔn)按鈕,值為1~5分別表示復(fù)選按鈕、按鈕組、分隔符、占位符和菜單按鈕Enabled設(shè)置或返回該對(duì)象是否可用Visible設(shè)置或返回該對(duì)象是否可見(jiàn)Value設(shè)置或返回該對(duì)象的值。默認(rèn)值為。表示當(dāng)前未按下按鈕,也末復(fù)選按鈕;值為1表示當(dāng)前按下或復(fù)選按鈕說(shuō)明:①每個(gè)按鈕(Button)對(duì)象都有一個(gè)Style屬性,該屬性決定該按鈕的行為特點(diǎn),可以有五種選擇。可以在“屬性頁(yè)”對(duì)話框“按鈕”選項(xiàng)卡的“樣式”框中設(shè)定按鈕的Style屬性。表6-9列出了Style屬性的五個(gè)值以及它們的功能。各種樣式的示例如圖6-10所示。表6-9按鈕的樣式及其功能屬性值常數(shù)值功能0tbrDefault缺省樣式,按鈕在單擊操作后自動(dòng)彈回,若按鈕功能不依賴(lài)其它功能,可以使用該樣式。1tbrCheck將按鈕設(shè)置為復(fù)選類(lèi)型,即單擊按鈕后不彈起,再次單擊時(shí)才彈起。2tbrButtonGroup用于功能相互排斥的按鈕組,即一組按鈕中同一時(shí)刻只能有一個(gè)按鈕有效。3tbrSeparator產(chǎn)生8個(gè)象素寬的按鈕間的分隔符,將不同類(lèi)型的按鈕分開(kāi)。4tbrPlaceholder占位符樣式,即在Toolbar控件中占據(jù)一定的位置,以便顯示如ListBox之類(lèi)的其它控件。②在某些情況下,應(yīng)用程序的函數(shù)可能返回不確定狀態(tài):返回的狀態(tài)是兩種或多種狀態(tài)的混合。例如,若用戶(hù)選中某個(gè)Word文檔,其中一部分文本是斜體,另一部分是正常體,則代表斜體的按鈕既不能按下也不能彈起;為了表示這種不確定狀態(tài),需要將MixedState屬性設(shè)置為T(mén)rue,以產(chǎn)生第三種狀態(tài)??梢栽凇皩傩皂?yè)”對(duì)話框“按鈕”選項(xiàng)卡(參見(jiàn)圖6-9)中將“混合狀態(tài)”設(shè)為有效。一般在程序中根據(jù)運(yùn)行狀況設(shè)置Mixedstate屬性。tbrDefault樣式按鈕

tbrSeparator樣式按鈕

tbrPlaceholder樣式產(chǎn)生的空白添加的組合控件

tbrCheck樣式按鈕

tbrButtonGroup樣式按鈕③在按鈕樣式中有一種tbrDropDown按鈕樣式,即下拉菜單式按鈕樣式,如圖6-16左圖所示。在這種按鈕樣式中,除了主按鈕外,在按鈕的右邊還有一個(gè)帶三角形的按鈕。程序運(yùn)行時(shí),單擊該部分時(shí)可以拉下其中隱含的菜單。下拉菜單式按鈕的設(shè)計(jì)步驟如下:a)插入下拉式按鈕。插入一個(gè)按鈕后,選擇按鈕樣式為5-tbrDropDown,即可創(chuàng)建下拉式按鈕。b)插入按鈕菜單。下拉式按鈕中不包含菜單,還需要在按鈕中設(shè)計(jì)按鈕菜單。插入一個(gè)下拉式按鈕后,在“按鈕菜單”框中單擊“插入按鈕菜單”按鈕,可以在按鈕中插入一個(gè)菜單項(xiàng)。依此可以依次插入各菜單項(xiàng)。插入一個(gè)按鈕菜單后,還應(yīng)設(shè)置菜單的屬性。其中,“文本”項(xiàng)設(shè)置菜單的標(biāo)題,用“-”號(hào)設(shè)置分隔條。(3)Buttons集合的常用屬性和方法與圖像列表控件的ListImages集合相似,工具欄的Buttons集合也具有Count屬性,用于返回Buttons集合中的按鈕數(shù)目。圖6-16下拉菜單按鈕及設(shè)計(jì)Buttons集合的方法包括Add、Clear和Remove方法。Add方法用來(lái)添加一個(gè)Button對(duì)象到Buttons集合中,并返回這個(gè)最新創(chuàng)建的對(duì)象引用。語(yǔ)法格式:工具欄控件名.Add(Index,key,Caption,style,Image)其中,Index參數(shù)指定要插入Button對(duì)象的位置。若省略,則將Button對(duì)象添加到Buttons集合的末尾。key參數(shù)用來(lái)惟一標(biāo)識(shí)Button對(duì)象。Caption參數(shù)指定將出現(xiàn)在Button對(duì)象之下的字符串。style參數(shù)決定Button對(duì)象的樣式。Image參數(shù)以Index屬性值或Key屬性值指定相關(guān)聯(lián)的ImageList控件內(nèi)的一個(gè)ListImage對(duì)象。例如:DimbtnXAsButtonSetbtnX=Toolbarl.Buttons.Add(,”open”,,,”open”)Clear和Remove方法的用法與ListImages集合相同。(4)自定義工具欄在“屬性頁(yè)”對(duì)話框“通用”選項(xiàng)卡(參見(jiàn)圖6-8)中選中工具欄的“允許自定義”復(fù)選框,則允許用戶(hù)隱藏、顯示或重新安排工具欄按鈕。程序運(yùn)行時(shí),雙擊該工具欄將顯示“自定義工具欄”對(duì)話框,如圖6-17所示。此外,也可以調(diào)用Customize方法顯示該對(duì)話框。若希望保存或恢復(fù)工具欄的狀態(tài),可以使用SaveToolbar或RestoreToolbar方法。在改動(dòng)工具欄時(shí)觸發(fā)Change事件,可用來(lái)調(diào)用SaveToolbar方法。圖6-17“自定義工具欄”對(duì)話框3.工具欄的程序設(shè)計(jì),主要編寫(xiě)工具欄的ButtonClick事件過(guò)程,以便對(duì)已選定的按鈕作出響應(yīng)。對(duì)于下拉式菜單按鈕,用戶(hù)單擊下拉按鈕中的任何菜單都將發(fā)生ButtonMenuClick事件,因此,下拉式菜單按鈕程序設(shè)計(jì)主要是編寫(xiě)按鈕菜單的ButtonMenuClick事件過(guò)程。例如:PrivateSubToolbar1_ButtonMenuClick(ByValButtonMenuAsMSComctlLib.ButtonMenu)SelectCaseButtonMenu.IndexCase1Form1.BackColor=RGB(255,0,0)Case2Form1.BackColor=RGB(0,255,0)Case3Form1.BackColor=RGB(0,0,255)Case5CommonDialog1.Flags=cdlCCRGBInitCommonDialog1.ShowColorForm1.BackColor=CommonDialog1.ColorEndSelectEndSub該過(guò)程包括一個(gè)MSComctlLib.ButtonMenu按鈕菜單對(duì)象,程序中Case語(yǔ)句后用到的關(guān)鍵字(如open、prn等)都是“按鈕菜單”對(duì)象的Index屬性值。[例6-5]在工具欄中定義六個(gè)按鈕:“打開(kāi)”、“保存”、“退出”、“剪切”、“復(fù)制”和“粘貼”。[建立工程]新建工程,按默認(rèn)名稱(chēng)保存工程為“工程1”,窗體名稱(chēng)保存為Form1。構(gòu)造用戶(hù)界面,在窗體Form1上放置一個(gè)圖像列表控件ImageList1和一個(gè)工具欄控件ToolBar1。[屬性設(shè)置]在表6-7指定的值在“屬性頁(yè)”中設(shè)置相關(guān)的內(nèi)容。表6-7按鈕定義索引標(biāo)題關(guān)鍵字工具提示文本1打開(kāi)Open打開(kāi)文件2保存Save保存文件3剪切Cut將選定內(nèi)容剪切到剪帖板4復(fù)制Copy將選定內(nèi)容復(fù)制到剪帖板5粘貼Paste從剪帖板粘貼到當(dāng)前位置6退出Exit結(jié)束程序運(yùn)行[程序代碼]設(shè)置相關(guān)屬性后,輸入以下示意性的程序代碼:PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)

‘用關(guān)鍵字屬性判斷選擇的操作

SelectCaseButton.KeyCase"Open"MsgBox"選擇“打開(kāi)”按鈕!"Case"New"MsgBox"選擇“新建”按鈕!"Case"Save"MsgBox"選擇“保存”按鈕!"Case"Cut"MsgBox"選擇“剪切”按鈕!"Case"Copy"MsgBox"選擇“復(fù)制”按鈕!"Case"Paste"MsgBox"選擇“粘貼”按鈕!"Case"Exit"MsgBox"選擇“退出”按鈕!"EndEndSelectEndSub[代碼說(shuō)明]Button是工具欄按鈕集合Buttons的一個(gè)對(duì)象。該對(duì)象能夠通過(guò)“按鈕”窗口中的“插入按鈕”和“刪除按鈕”從集合中插入或刪除。程序運(yùn)行時(shí),單擊工具欄上的按鈕,觸發(fā)工具欄的ButtonClick事件,并將Button對(duì)象作為參數(shù)傳遞到事件過(guò)程中。程序根據(jù)按鈕的Index或Key屬性值執(zhí)行相應(yīng)的程序。本例采用Button.Key的值作為SelectCase的條件。[運(yùn)行結(jié)果]如圖6-18所示。圖6-18程序運(yùn)行示意6.2.2用CoolBar控件創(chuàng)建工具欄

在VisualBasic6.0中,還可以用CoolBar控件創(chuàng)建工具欄。用CoolBar控件可以創(chuàng)建類(lèi)似MicrosoftInternetExplorer中的工具欄,并可由用戶(hù)自行配置該工具欄。CoolBar是VisualBasic6.0中的一個(gè)ActiveX控件,一般不在工具箱內(nèi)顯示。在菜單欄上選擇“工程→部件”選項(xiàng),在彈出的“部件”對(duì)話框中選中MicrosoftWindowsCommonControls6.0,單擊“確定”按鈕,可以在工具箱中加入CoolBar控件。限于篇幅,這里不詳細(xì)介紹CoolBar控件的使用,讀者可參考VisualBasic6.0的手冊(cè)或MSDN庫(kù)中的“控件參考”。6.3多重窗體與多文檔界面(MDI)的設(shè)計(jì)

在Windows的應(yīng)用程序開(kāi)發(fā)中,常常要求能同時(shí)打開(kāi)多個(gè)文檔窗口。為實(shí)現(xiàn)應(yīng)用程序的多窗口程序設(shè)計(jì),VisualBasic允許在一個(gè)工程中建立多個(gè)窗體。VB中的多窗體設(shè)計(jì)分兩種:多重窗體(MutipleForm)和多文檔界面(MutipleDocumentInterface,簡(jiǎn)稱(chēng)MDI)。6.3.1創(chuàng)建MDI應(yīng)用程序

[例6-6]建立一個(gè)簡(jiǎn)單的文本編輯器,使其與Windows中自帶的筆記本(NotePad)應(yīng)用程序相似。要求在程序運(yùn)行時(shí),可以用“文件”菜單中的“新建”選項(xiàng)創(chuàng)建多個(gè)子窗體或文檔窗口。

[分析]

在多重窗體程序中,每個(gè)窗體可以有自己的界面和程序代碼,分別完成不同的操作。利用多重窗體,可以較靈活地設(shè)計(jì)比較復(fù)雜的對(duì)話框,從而能代替由CommonDialog、InputBox或MsgBox所提供的標(biāo)準(zhǔn)對(duì)話框。多文檔界面(MDI)允許同時(shí)打開(kāi)多個(gè)文檔進(jìn)行操作,而且每個(gè)文檔都有各自的窗口。MDI應(yīng)用程序一般由一個(gè)父窗體和多個(gè)子窗體構(gòu)成,包含文檔的子窗體被放置在父窗體中,父窗體為所有的子窗體提供工作空間。父窗體又稱(chēng)為MDI窗體,負(fù)責(zé)管理其中的每個(gè)子窗體及其對(duì)它們的操作。子窗體實(shí)際上是普通窗體,但要將MDIChild屬性設(shè)置為T(mén)rue。多個(gè)子窗體的樣式可以相同或不同。注意:一個(gè)MDI應(yīng)用程序只能有一個(gè)MDI窗體。程序運(yùn)行時(shí),子窗體將顯示在MDI窗體的工作區(qū)內(nèi),當(dāng)最小化子窗體時(shí),其窗體圖標(biāo)亦顯示在父窗體的工作區(qū)內(nèi),如圖6-19所示。圖6-19MDI窗體界面MDI窗體和每一個(gè)子窗體都可以有菜單,但子窗體的菜單顯示在MDI窗體上。一旦某個(gè)子窗體獲得焦點(diǎn),其菜單(假設(shè)有)取代父窗體上的菜單顯示在菜單欄上。只有當(dāng)帶焦點(diǎn)的子窗體沒(méi)有菜單或不存在可見(jiàn)子窗體時(shí),才會(huì)顯示MDI窗體本身的菜單。創(chuàng)建MDI應(yīng)用程序的方法與普通應(yīng)用程序十分相似。為創(chuàng)建以文檔為中心的應(yīng)用程序,至少需要兩個(gè)窗體:一個(gè)MDI窗體和一個(gè)子窗體。設(shè)計(jì)時(shí),創(chuàng)建一個(gè)MDI窗體容納該應(yīng)用程序,創(chuàng)建一個(gè)子窗體作為這個(gè)應(yīng)用程序文檔的模板。[建立工程](1)在菜單欄上選擇“文件→新建工程”選項(xiàng),新建一個(gè)“標(biāo)準(zhǔn)EXE”類(lèi)型的工程。(2)創(chuàng)建MDI窗體:在菜單欄上選擇“工程→添加MDI窗體”選項(xiàng),彈出“添加MDI窗體”對(duì)話框,如圖6-23所示。在“新建”選項(xiàng)卡中選擇“MDI窗體”后,單擊“打開(kāi)”按鈕,即可在工程中添加一個(gè)默認(rèn)名稱(chēng)為MDIForm1的MDI窗體,其外觀幾乎與一般窗體相同,只是窗體的標(biāo)題、背景色和在工程資源管理中顯示的圖標(biāo)不同。圖6-23“添加MDI窗體”對(duì)話框此時(shí),工程中包含一個(gè)MDI窗體(MDIForm1)和一個(gè)標(biāo)準(zhǔn)窗體(Form1)。(3)利用菜單編輯器建立MDI窗體的菜單,方法與窗體的菜單設(shè)計(jì)完全相同。(4)向MDI窗體中添加子窗體:在工程中建立一個(gè)普通窗體,修改MDIChild屬性為T(mén)rue,表示該窗體為一個(gè)MDI子窗體??梢栽诖绑w上添加控件、設(shè)置屬性、編寫(xiě)代碼或設(shè)計(jì)子窗體功能。提示:可以創(chuàng)建多個(gè)MDI子窗體,其樣式可以互不相同。多數(shù)MDI應(yīng)用程序中,打開(kāi)的子窗體的形式結(jié)構(gòu)是完全相同的,一般可采用定義窗體數(shù)組的方式來(lái)實(shí)現(xiàn)。例如,在帶有子窗體Form1的MDI窗體工程中添加一個(gè)標(biāo)準(zhǔn)模塊Module1,并在其中編寫(xiě)以下代碼:OptionExplicitPublicchildformcountAsIntegerPublicnewchildform(10)ASNewForm1其中,childformcount為保存當(dāng)前打開(kāi)子窗體數(shù)目的變量;newchildform為繼承Form1所有控件及其屬性、事件和方法的子窗體數(shù)組,此后在程序中就可以仍然用Show方法動(dòng)態(tài)顯示、處理這些子窗體。例如:newchildform(1).Show可以根據(jù)需要為子窗體設(shè)計(jì)菜單。[屬性設(shè)置](1)將Form1的MDIChild屬性設(shè)置為“True”,并在Form1上創(chuàng)建一個(gè)文本框(Text1)。(2)按表6-8為兩個(gè)窗體和文本框控件設(shè)置屬性。對(duì)象屬性設(shè)置值MDIForm1CaptionMDINotePadForm1Caption無(wú)標(biāo)題MDIChildTrueText1MultiLineTrueTextText1Left0Top0(3)用“菜單編輯器”為MDIForm1創(chuàng)建一個(gè)“文件”菜單(見(jiàn)表6-9)。標(biāo)題名稱(chēng)縮進(jìn)文件mnuFile否新建mnuFileNew是[程序代碼]建立和設(shè)計(jì)MDI應(yīng)用程序的父窗體和子窗體后,就可以編寫(xiě)程序代碼,可以像單一窗體一樣編寫(xiě)MDI應(yīng)用程序的窗體和控件的程序代碼。1.mnuFileNew_Click事件過(guò)程程序代碼PrivateSubmnuFileNew_Click()

DimNewDocAsNewForm1 '創(chuàng)建名為NewDoc的窗體Form1的一個(gè)新實(shí)例。

NewDoc.Show '顯示此新窗體。EndSub該過(guò)程以Form1為模板創(chuàng)建并顯示Form1中名為NewDoc的一個(gè)新實(shí)例(副本)。每當(dāng)從“文件”菜單中選取“新建”命令時(shí),將會(huì)創(chuàng)建一個(gè)與Form1完全相同的副本(實(shí)例),包括Form1所包含的所有控件和代碼。2.Form1窗體的Form_Resize過(guò)程程序代碼Text1.Height=ScaleHeightText1.Width=ScaleWidthForm_Resize事件過(guò)程的代碼象Form1中所有代碼一樣,能為Form1的每一個(gè)實(shí)例所共享。當(dāng)顯示窗體的幾個(gè)副本時(shí),每個(gè)窗體都能識(shí)別各自的事件。由于相同的代碼為每個(gè)實(shí)例所共享,當(dāng)一個(gè)事件出現(xiàn)時(shí),該事件過(guò)程的代碼就會(huì)被調(diào)用。[運(yùn)行結(jié)果]程序設(shè)計(jì)完成后,程序運(yùn)行結(jié)果如圖6-20所示。在菜單欄上選擇“文件→新建”選項(xiàng),彈出一個(gè)新的子窗體,如圖6-21所示。通過(guò)調(diào)試后保存工程。圖6-20MDINotePad程序運(yùn)行結(jié)果

圖6-22彈出一個(gè)新的子窗體[練習(xí)]調(diào)用VisualBasic提供的MDI實(shí)例應(yīng)用程序。(1)在VB文件夾下的Sample\Pguide\Mdi文件夾中打開(kāi)Mdinote.vbp工程。(2)運(yùn)行該應(yīng)用程序,觀察運(yùn)行情況。(3)對(duì)程序中的“新建”、“關(guān)閉”、編輯命令、窗口及“工具欄”、“字體”等命令或功能進(jìn)行操作,觀察運(yùn)行情況及效果。(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論