計(jì)算機(jī)等級(jí)測(cè)驗(yàn)考試二級(jí)VB教程_第1頁(yè)
計(jì)算機(jī)等級(jí)測(cè)驗(yàn)考試二級(jí)VB教程_第2頁(yè)
計(jì)算機(jī)等級(jí)測(cè)驗(yàn)考試二級(jí)VB教程_第3頁(yè)
計(jì)算機(jī)等級(jí)測(cè)驗(yàn)考試二級(jí)VB教程_第4頁(yè)
計(jì)算機(jī)等級(jí)測(cè)驗(yàn)考試二級(jí)VB教程_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)等級(jí)考試二級(jí)VB基礎(chǔ)教程1.1Visual Basic 概述1.Visual Basic是什么 Visual Basic(簡(jiǎn)稱VB)是Microsoft公司開(kāi)發(fā)的一種通用的基于對(duì)象的程序設(shè)計(jì)語(yǔ)言。 “Visual” 指的是開(kāi)發(fā)圖形用戶界面 (GUI) 的方法不需編寫(xiě)大量代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對(duì)象add到屏幕上的一點(diǎn)即可。 “Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語(yǔ)言,一種在計(jì)算技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的語(yǔ)言。Visual Basic 在原有 BASIC 語(yǔ)言的基礎(chǔ)

2、上進(jìn)一步發(fā)展,至今包含了數(shù)百條語(yǔ)句、函數(shù)及關(guān)鍵詞,其中很多和 Windows GUI 有直接關(guān)系。專業(yè)人員可以用 Visual Basic 實(shí)現(xiàn)其它任何 Windows 編程語(yǔ)言的功能,而初學(xué)者只要掌握幾個(gè)關(guān)鍵詞就可以建立實(shí)用的應(yīng)用程序。Visual Basic Scripting Edition (VBScript) 是廣泛使用的腳本語(yǔ)言,它是 Visual Basic 語(yǔ)言的子集,可嵌入HTML語(yǔ)言中,用于網(wǎng)頁(yè)設(shè)計(jì),如ASP(Active Server Page)文件。VB簡(jiǎn)單易學(xué),通用性強(qiáng),用途廣泛。2.VB的功能 VB可以用于可以開(kāi)發(fā)多媒體、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、圖形等方面的應(yīng)用程序。數(shù)據(jù)訪問(wèn)

3、特性允許對(duì)包括 Microsoft SQL Server 和其它企業(yè)數(shù)據(jù)庫(kù)在內(nèi)的大部分?jǐn)?shù)據(jù)庫(kù)格式建立數(shù)據(jù)庫(kù)和前端應(yīng)用程序,以及可調(diào)整的服務(wù)器端部件。有了 ActiveX(TM) 技術(shù)就可使用其它應(yīng)用程序提供的功能,例如 Microsoft Word 字處理器,Microsoft Excel 電子數(shù)據(jù)表及其它 Windows 應(yīng)用程序。Internet 能力強(qiáng)大,很容易在應(yīng)用程序內(nèi)通過(guò) Internet 或 intranet訪問(wèn)文檔和應(yīng)用程序,或者創(chuàng)建 Internet 服務(wù)器應(yīng)用程序。 已完成的應(yīng)用程序是使用Visual Basic 虛擬機(jī)真正 .exe 文件,可以自由發(fā)布。3.VB的發(fā)展VB

4、是伴隨Windows操作系統(tǒng)而發(fā)展的,在中國(guó)使用較廣的版本有VB4.0、VB5.0、VB6.0。VB4.0是為配合WIN95的問(wèn)世于1995年推出的,既可用于編寫(xiě)WIN3.X平臺(tái)的16位應(yīng)用程序也可編寫(xiě)WIN95平臺(tái)的32位應(yīng)用程序;VB5.0主要用于編寫(xiě)WIN95平臺(tái)的32位應(yīng)用程序,較之VB4.0主要擴(kuò)展了數(shù)據(jù)庫(kù)、ActiveX和Internet方面的功能;VB6.0是與WIN98配合于1998年推出的,進(jìn)一步加強(qiáng)了數(shù)據(jù)庫(kù)、Internet和創(chuàng)建控件方面的功能。4.VB中的幾個(gè)常用術(shù)語(yǔ)工程(Project):是指用于創(chuàng)建一個(gè)應(yīng)用程序的文件的集合。對(duì)象(object):可控制的某個(gè)東西,VB

5、中主要有兩類對(duì)象:窗體和控件。窗體(form):應(yīng)用程序的用戶界面,即windows??丶?control):指的是各種按扭、標(biāo)簽、文本框等。屬性(property):是指對(duì)象的特性,如大小、標(biāo)題或顏色。ActiveX:ActiveX是基于component object model(com)的可視化控件結(jié)構(gòu)的商標(biāo)名稱.它是一種封裝技術(shù),提供封裝COM組件并將其置入應(yīng)用程序(如WEB瀏覽器)的一種方法.Components Object Model (COM): 是軟件組件互相通訊的一種方式。它是一種二進(jìn)制和網(wǎng)絡(luò)標(biāo)準(zhǔn),允許任意兩個(gè)組件互相通訊,而不管它們是在什么計(jì)算機(jī)上運(yùn)行(只要計(jì)算機(jī)是相連的

6、),不管各計(jì)算機(jī)運(yùn)行的是什么操作系統(tǒng)(只要該操作系統(tǒng)支持 COM),也不管該組件是用什么語(yǔ)言編寫(xiě)的。5. VB的系統(tǒng)特性(1)工程限制 1)代碼限制: 可被加載到窗體、類或標(biāo)準(zhǔn)模塊的代碼總數(shù)限于 65,534 行。一行代碼限于 1023 個(gè)字節(jié)。在一行中的實(shí)際文本之前最多只能有 256 個(gè)空格的前導(dǎo),在一個(gè)邏輯行中最多只能有 25 個(gè)續(xù)行符 ( _)。2)過(guò)程、類型和變量對(duì)每個(gè)模塊的過(guò)程數(shù)沒(méi)有限制。每個(gè)過(guò)程可包含至多 64K 的代碼。如果過(guò)程或模塊超過(guò)這一限制,Visual Basic 便產(chǎn)生編譯時(shí)間錯(cuò)誤。如果遇到這種錯(cuò)誤,可將特別大的過(guò)程分割成若干個(gè)較小的過(guò)程,或?qū)⒛K級(jí)聲明移到另一模塊,來(lái)

7、避免此類錯(cuò)誤發(fā)生。Visual Basic 用表來(lái)保存代碼中的標(biāo)識(shí)符名(變量、過(guò)程、常量等)。每個(gè)表限于 64K。3)動(dòng)態(tài)鏈接庫(kù)聲明表 每個(gè)窗體和代碼模塊使用一個(gè)描述動(dòng)態(tài)鏈接庫(kù)入口點(diǎn)的結(jié)構(gòu)的表。每個(gè)結(jié)構(gòu)約 40 個(gè)字節(jié),表的大小限于 64K,形成每個(gè)模塊大約有 1500 個(gè)聲明。4)工程名表 整個(gè)應(yīng)用程序用一張包含所有名稱的表。這些名稱包括: 常量名 、 變量名 、 自定義的類型定義名、 模塊名、 DLL 過(guò)程聲明名。對(duì)工程名表總大小沒(méi)有限制,但是區(qū)分大小寫(xiě)的條目不得超過(guò) 32K。如果超過(guò)了 32K 的限制,可以在不同的模塊中重新使用 private 標(biāo)識(shí)符以限制區(qū)分大小寫(xiě)的條目數(shù)到達(dá) 32K

8、。5)輸入表在不同的模塊中每引用一個(gè)標(biāo)識(shí)符,便在輸入表中創(chuàng)建一個(gè)條目。每一個(gè)這樣的入口最小是 24 字節(jié),但限于 64K,這樣每個(gè)模塊大約可以有 2000 個(gè)引用。 6)模塊條目表該表中每個(gè)模塊最多達(dá) 125 個(gè)字節(jié),但有 64K 的總限制,這樣每個(gè)工程大約可以產(chǎn)生 400 個(gè)模塊。VB 中的變量名不多于 255 個(gè)字符,而窗體、控件、模塊和類名不多于 40 個(gè)字符。(2)工程文件格式VB 在創(chuàng)建和編譯工程時(shí)要產(chǎn)生許多文件,分為:設(shè)計(jì)時(shí)文件、雜項(xiàng)開(kāi)發(fā)文件和運(yùn)行時(shí)文件。設(shè)計(jì)時(shí)文件是工程的建造塊,例如基本模塊 (.bas) 和窗體模塊 (.frm)。雜項(xiàng)文件是由 Visual Basic 開(kāi)發(fā)環(huán)境

9、中的各種不同的進(jìn)程和函數(shù)產(chǎn)生的,例如打包和展開(kāi)向?qū)膶傥募?(.dep)。1.2 VB 6.0 的集成開(kāi)發(fā)環(huán)境簡(jiǎn)介VB 集成開(kāi)發(fā)環(huán)境 (IDEIntegrated Developing Environment ) 由以下元素組成:1. 標(biāo)題欄用于顯示正在開(kāi)發(fā)或調(diào)試的工程名和系統(tǒng)的工作狀態(tài)(設(shè)計(jì)態(tài)、運(yùn)行態(tài)、中止態(tài))。2. 菜單欄用于顯示所使用的 Visual Basic 命令。VB6.0標(biāo)準(zhǔn)菜單包括:3. 工具欄在編程環(huán)境下用于快速訪問(wèn)常用命令。缺省情況下,啟動(dòng) VB后顯示“標(biāo)準(zhǔn)”工具欄,附加的編輯、窗體設(shè)計(jì)和調(diào)試的工具 欄可以從“視圖”菜單上的“工具欄”命令中移進(jìn)或移出。4. 窗體設(shè)計(jì)器用來(lái)設(shè)

10、計(jì)應(yīng)用程序的界面。啟動(dòng)VB后,窗體設(shè)計(jì)器中自動(dòng)出現(xiàn)一個(gè)名為Form1的空白窗體,可以在該窗體中添加控件、圖形和圖片等來(lái)創(chuàng)建所希望的外觀,窗體的外觀設(shè)計(jì)好后,從菜單中選擇“文件”“保存窗體”在保存對(duì)話框中給出合適的文件名(注意擴(kuò)展名),并選擇所需的保存位置確定。需要再設(shè)計(jì)另一個(gè)窗體時(shí),單擊工具欄上的“添加窗體”按鈕即可。5. 控件(工具)箱由一組控件按鈕組成,用于設(shè)計(jì)時(shí)在窗體中放置控件。除了缺省的工具箱布局之外,還可以通過(guò)從上下文菜單中選定“添加選項(xiàng)卡”并在結(jié)果選項(xiàng)卡中添加控件來(lái)創(chuàng)建自定義布局。6. 彈出式(上下文)菜單在要使用的對(duì)象上單擊鼠標(biāo)右鍵即可打開(kāi)快捷菜單,其上會(huì)出現(xiàn)與當(dāng)前對(duì)象相關(guān)的經(jīng)常

11、執(zhí)行的操作,以加快操作速度。7. 工程管理器窗口用于瀏覽工程中所包含的窗體和模塊,還可以從中查看代碼、查看對(duì)象。8. 屬性窗口是VB中一個(gè)比較復(fù)雜的窗口,其中列出了對(duì)選定窗體和控件的屬性設(shè)置值。VB中正是通過(guò)改變屬性來(lái)改變對(duì)象的特征,如大小、標(biāo)題或顏色。9. 對(duì)象瀏覽器列出工程中有效的對(duì)象,并提供在編碼中漫游的快速方法??梢允褂谩皩?duì)象瀏覽器”瀏覽在 VB中的對(duì)象和其它應(yīng)用程序,查看對(duì)那些對(duì)象有效的方法和屬性,并將代碼過(guò)程粘貼進(jìn)自己的應(yīng)用程序。10. 對(duì)象瀏覽器右擊窗體中的對(duì)象、從工程管理器中點(diǎn)“查看代碼”按鈕。11. 窗體布局窗口 Form Layout window允許使用表示屏幕的小圖象來(lái)

12、布置應(yīng)用程序中各窗體的位置。12. 立即、本地和監(jiān)視窗口這些附加窗口是為調(diào)試應(yīng)用程序提供的,它們只在 IDE 之中運(yùn)行應(yīng)用程序時(shí)才有效。1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念1.基本術(shù)語(yǔ)(1) 對(duì)象和對(duì)象類對(duì)象是代碼和數(shù)據(jù)的組合,可以作為一個(gè)單位來(lái)處理。對(duì)象可以是應(yīng)用程序的一部分,比如可以是控件或窗體。整個(gè)應(yīng)用程序也是一個(gè)對(duì)象。VB中的每個(gè)對(duì)象都是用類定義的。用餅干模子和餅干之間的關(guān)系作比,就會(huì)明白對(duì)象和它的類之間的關(guān)系。餅干模子是類。它確定了每塊餅干的特征,比如大小和形狀。用類創(chuàng)建對(duì)象,對(duì)象就是餅干。類是面向?qū)ο蟪绦蛟O(shè)計(jì)的核心技術(shù),可以理解成一種定義了對(duì)象行為和外觀的模板;把對(duì)象看作是類的原原本

13、本的復(fù)制品,類具有繼承性、封裝性、多態(tài)性、抽象性。(2) 屬性屬性是對(duì)對(duì)象特性的描述,VB為每一類對(duì)象都規(guī)定了若干屬性,設(shè)計(jì)中可以改變具體對(duì)象的屬性值。比如窗體的背景顏色、高度與寬度。(3) 事件(Event)事件是發(fā)生在對(duì)象上的動(dòng)作。事件的發(fā)生不是隨意的,某些事件僅發(fā)生在某些對(duì)象上。 在VB中事件的調(diào)用形式是:Private Sub對(duì)象名_事件名(事件內(nèi)容)End Sub(4) 方法(Method) 方法指的是控制對(duì)象動(dòng)作行為的方式。它是對(duì)象本身內(nèi)含的函數(shù)或過(guò)程,它也是一個(gè)動(dòng)作,是一個(gè)簡(jiǎn)單的不必知道細(xì)節(jié)的無(wú)法改變的事件,但不稱作事件;同樣,方法也不是隨意的,一些對(duì)象有一些特定的方法。在VB里

14、方法的調(diào)用形式是: 對(duì)象名.方法名2. 屬性、方法和事件之間的關(guān)系VB 對(duì)象具有屬性、方法和事件。屬性是描述對(duì)象的數(shù)據(jù);方法告訴對(duì)象應(yīng)做的事情;事件是對(duì)象所產(chǎn)生的事情,事件發(fā)生時(shí)可以編寫(xiě)代碼進(jìn)行處理。VB 的窗體和控件是具有自己的屬性、方法和事件的對(duì)象??梢园褜傩钥醋饕粋€(gè)對(duì)象的性質(zhì),把方法看作對(duì)象的動(dòng)作,把事件看作對(duì)象的響應(yīng)。日常生活中的對(duì)象,如小孩玩的氣球同樣具有屬性、方法和事件。氣球的屬性包括可以看到的一些性質(zhì),如它的直徑和顏色。其它一些屬性描述氣球的狀態(tài)(充氣的或未充氣的)或不可見(jiàn)的性質(zhì),如它的壽命。通過(guò)定義,所有氣球都具有這些屬性;這些屬性也會(huì)因氣球的不同而不同。氣球還具有本身所固有的

15、方法和動(dòng)作。如:充氣方法(用氦氣充滿氣球的動(dòng)作),放氣方法(排出氣球中的氣體)和上升方法(放手讓氣球飛走)。所有的氣球都具備這些能力。氣球還有預(yù)定義的對(duì)某些外部事件的響應(yīng)。例如,氣球?qū)Υ唐扑氖录憫?yīng)是放氣,對(duì)放手事件的響應(yīng)是升空。在VB程序設(shè)計(jì)中,基本的設(shè)計(jì)機(jī)制就是:改變對(duì)象的屬性、使用對(duì)象的方法、為對(duì)象事件編寫(xiě)事件過(guò)程。程序設(shè)計(jì)時(shí)要做的工作就是決定應(yīng)更改哪些屬性、調(diào)用哪些方法、對(duì)哪些事件作出響應(yīng),從而得到希望的外觀和行為。3.事件驅(qū)動(dòng)模型在傳統(tǒng)的或“過(guò)程化”的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行哪一部分代碼和按何種順序執(zhí)行代碼。從第一行代碼執(zhí)行程序并按應(yīng)用程序中預(yù)定的路徑執(zhí)行,必要時(shí)調(diào)用過(guò)程

16、。 在事件驅(qū)動(dòng)的應(yīng)用程序中,代碼不是按照預(yù)定的路徑執(zhí)行,而是在響應(yīng)不同的事件時(shí)執(zhí)行不同的代碼片段。事件可以由用戶操作觸發(fā)、也可以由來(lái)自操作系統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至由應(yīng)用程序本身的消息觸發(fā)。這些事件的順序決定了代碼執(zhí)行的順序,因此應(yīng)用程序每次運(yùn)行時(shí)所經(jīng)過(guò)的代碼的路徑都是不同的。因?yàn)槭录捻樞蚴菬o(wú)法預(yù)測(cè)的,所以在代碼中必須對(duì)執(zhí)行時(shí)的“各種狀態(tài)”作一定的假設(shè)。當(dāng)作出某些假設(shè)時(shí)(例如,假設(shè)在運(yùn)行來(lái)處理某一輸入字段的過(guò)程之前,該輸入字段必須包含確定的值),應(yīng)該組織好應(yīng)用程序的結(jié)構(gòu),以確保該假設(shè)始終有效(例如,在輸入字段中有值之前禁止使用啟動(dòng)該處理過(guò)程的命令按鈕)。在執(zhí)行中代碼也可以觸發(fā)事件。例

17、如,在程序中改變文本框中的文本將引發(fā)文本框的 Change 事件。如果 Change 事件中包含有代碼,則將導(dǎo)致該代碼的執(zhí)行。如果原來(lái)假設(shè)該事件僅能由用戶的交互操作所觸發(fā),則可能會(huì)產(chǎn)生意料之外的結(jié)果。正因?yàn)檫@一原因,所以在設(shè)計(jì)應(yīng)用程序時(shí)理解事件驅(qū)動(dòng)模型并牢記在心是非常重要的。4.交互式開(kāi)發(fā)傳統(tǒng)的應(yīng)用程序開(kāi)發(fā)過(guò)程可以分為三個(gè)明顯的步驟:編碼、編譯和測(cè)試代碼。但是 Visual Basic 與傳統(tǒng)的語(yǔ)言不同,它使用交互式方法開(kāi)發(fā)應(yīng)用程序,使三個(gè)步驟之間不再有明顯的界限。 VB在編程者輸入代碼時(shí)便進(jìn)行解釋,即時(shí)捕獲并突出顯示大多數(shù)語(yǔ)法或拼寫(xiě)錯(cuò)誤??雌饋?lái)就象一位專家在監(jiān)視代碼的輸入。 除即時(shí)捕獲錯(cuò)誤以

18、外,VB 也在輸入代碼時(shí)部分地編譯該代碼。當(dāng)準(zhǔn)備運(yùn)行和測(cè)試應(yīng)用程序時(shí),只需極短時(shí)間即可完成編譯。如果編譯器發(fā)現(xiàn)了錯(cuò)誤,則將錯(cuò)誤突出顯示于代碼中。這時(shí)可以更正錯(cuò)誤并繼續(xù)編譯,而不需從頭開(kāi)始。 由于 VB的交互特性,代碼運(yùn)行的效果可以在開(kāi)發(fā)時(shí)進(jìn)行測(cè)試,而不必等到編譯完成以后。14 利用VB開(kāi)發(fā)應(yīng)用程序的一般步驟一個(gè)VB程序也稱為一個(gè)工程,由窗體、標(biāo)準(zhǔn)模塊、自定義控件及應(yīng)用所需的環(huán)境設(shè)置組成。開(kāi)發(fā)步驟一般如下:1 創(chuàng)建程序的用戶界面2 設(shè)置界面上各個(gè)對(duì)象的屬性3 編寫(xiě)對(duì)象響應(yīng)事件的程序代碼4 保存工程5 測(cè)試應(yīng)用程序,排除錯(cuò)誤6 創(chuàng)建可執(zhí)行程序2.1 VB用戶界面設(shè)計(jì)基礎(chǔ)1. 概述界面的設(shè)計(jì)有兩步:

19、先繪制控件,然后確定控件屬性。繪制控件:在工具箱里單擊想畫(huà)的控件,在窗體里按下鼠標(biāo)并拖曳,然后松開(kāi)鼠標(biāo)即可。確定屬性:先選中控件,然后按F4鍵或單擊工具欄上的屬性窗口進(jìn)入屬性(Properties)窗口,再在屬性窗口中找到要設(shè)置的屬性并進(jìn)行設(shè)置。2. 常用屬性的設(shè)置(1)Name屬性對(duì)象都有名字,計(jì)算機(jī)把名字看成對(duì)象于對(duì)象之間的根本差異,因此在同一窗體里不許出現(xiàn)重名的情況(除非這是一個(gè)控件數(shù)組),且名字不得超過(guò)40個(gè)字。在簡(jiǎn)單的程序里,給控件命名不是很必要,完全可以使用控件Name屬性的缺省值。例如Text1。但在有幾十個(gè)控件的復(fù)雜窗體里,就很難區(qū)分它們。所以,VB推薦由三個(gè)小寫(xiě)字母的前綴和一

20、個(gè)第一個(gè)字母為大寫(xiě)的描述性單詞組成的名字。例如cmdMyButton是一個(gè)命令按鈕(前綴是cmd)(2)Caption屬性Caption即標(biāo)題,是可以在對(duì)象外觀上直接看見(jiàn)的文本,可以長(zhǎng)達(dá)255字符,包括空格和標(biāo)點(diǎn)符號(hào),比如一個(gè)叫cmdOk的命令鈕,它的Caption屬性就可以是“Ok”。 注意:并不是所有的對(duì)象都有此屬性,比如文本框、圖片框、線條等就沒(méi)有。 為按鈕設(shè)置熱鍵:在設(shè)置Caption屬性時(shí),在需要加下劃線的字母前加上 “&” 符號(hào),例如 “&File”,輸出的就是“File”,這樣就可以通過(guò)按ALT鍵和標(biāo)題上那個(gè)帶下劃線的字母來(lái)選取它了, 不必為此編任何代碼。Name和 captio

21、n的比較:1) Name是系統(tǒng)用來(lái)識(shí)別對(duì)象的,編程時(shí)需要用它來(lái)指代各對(duì)象;Caption是給用戶看的,提示用戶該對(duì)象的作用;2) Name可以采用系統(tǒng)默認(rèn)的名稱,但Caption應(yīng)該根據(jù)實(shí)際情況改成意義明了的名詞;3)所有對(duì)象都有Name,但不一定都有Caption; (3)Top,Left屬性這兩個(gè)屬性決定對(duì)象的位置。只有兩種情況需要在屬性窗口里設(shè)置這兩個(gè)屬性:第一種是用戶沒(méi)有鼠標(biāo),第二種是程序員需要十分精確地設(shè)定這兩個(gè)值。當(dāng)選中對(duì)象,單擊并拖曳它的時(shí)候,便在修改這兩個(gè)值了。(4)Height,Width屬性這兩個(gè)屬性決定了對(duì)象的大小,當(dāng)選中控件時(shí),它周?chē)霈F(xiàn)八個(gè)小黑方塊,把鼠標(biāo)指向這些方塊

22、,鼠標(biāo)指針將變成一個(gè)雙向的箭頭,這時(shí)按下鼠標(biāo)并拖曳它,即可改變控件的大小,也就改變了Height,Width屬性。1.窗體的屬性(1)設(shè)置屬性的方法1)在設(shè)計(jì)態(tài)通過(guò)屬性窗口設(shè)置 直接在屬性窗口中選擇或輸入既可。2)在程序代碼中改變屬性值 代碼中的格式為: 對(duì)象名 . 屬性 = 屬性值 例:Form1.BackColor=RGB(255,0,0)2.窗體的常用方法(1)Hide方法用以隱藏 MDIForm 或 Form 對(duì)象,但不能使其卸載。語(yǔ)法:object.Hide object 所在處代表一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略 object,則帶有焦點(diǎn)的窗體就認(rèn)為是該

23、object。說(shuō)明: 隱藏窗體時(shí),它就從屏幕上被刪除,并將其 Visible 屬性設(shè)置為 False。 用戶將無(wú)法訪問(wèn)隱藏窗體上的控件,但是對(duì)于運(yùn)行中的 Visual Basic 應(yīng)用程序,或?qū)τ谕ㄟ^(guò) DDE 與該應(yīng)用程序通訊的進(jìn)程及對(duì)于 Timer 控件的事件,隱藏窗體的控件仍然是可用的。窗體被隱藏時(shí),用戶只有等到被隱藏窗體的事件過(guò)程的全部代碼執(zhí)行完后才能夠與該應(yīng)用程序交互。如果調(diào)用 Hide 方法時(shí)窗體還沒(méi)有加載,那么 Hide 方法將加載該窗體但不顯示它。(2)Move方法用以移動(dòng) MDIForm、Form 或控件。語(yǔ)法:object . Move left, top, width, h

24、eight說(shuō)明:只有 left 參數(shù)是必須的。但是,要指定任何其它的參數(shù),必須先指定出現(xiàn)在語(yǔ)法中該參數(shù)前面的全部參數(shù)。例如,如果不先指定 left 和 top 參數(shù),則無(wú)法指定 width 參數(shù)。任何沒(méi)有指定的尾部的參數(shù)則保持不變。(3)Print 方法在 Immediate 窗口中顯示文本。語(yǔ)法:object . Print outputlist Print 方法的語(yǔ)法具有下列對(duì)象限定符和部分:部分描述Object必需的。對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的對(duì)象。outputlist可選的。要打印的表達(dá)式或表達(dá)式的列表。如果省略,則打印一空白行。outputlist 參數(shù)具有以下語(yǔ)法和部分:

25、Spc(n) | Tab(n) expression charpos說(shuō)明:可以用空白或分號(hào)來(lái)分隔多個(gè)表達(dá)式。對(duì)系統(tǒng)指定的國(guó)別設(shè)置,用小數(shù)點(diǎn)分隔符將所有打印到 Immediate 視窗的數(shù)據(jù)正確格式化。關(guān)鍵字要用適用于主應(yīng)用程序的語(yǔ)言輸出。對(duì)于 Boolean 數(shù)據(jù),或者打印 True 或者打印 False。根據(jù)主機(jī)應(yīng)用程序的地區(qū)設(shè)置來(lái)翻譯 True 和 False 關(guān)鍵字。使用系統(tǒng)能識(shí)別的標(biāo)準(zhǔn)短日期格式書(shū)寫(xiě) Date 數(shù)據(jù)。當(dāng)日期或時(shí)間部件丟失或?yàn)榱銜r(shí),只書(shū)寫(xiě)已提供的部件。如果 outputlist 數(shù)據(jù)是 Empty,則無(wú)內(nèi)容可寫(xiě)。但是,如果 outputlist 數(shù)據(jù)是 Null,則輸出

26、Null。在輸出 Null 關(guān)鍵字時(shí),要把關(guān)鍵字正確翻譯出來(lái)。要把錯(cuò)誤數(shù)據(jù)作為 Error errorcode 輸出。在輸出 Error 關(guān)鍵字時(shí),要把關(guān)鍵字正確翻譯出來(lái)。如果在具有缺省顯示空間的模塊外使用此方法,則需要 object。例如,如果沒(méi)有指定對(duì)象就在標(biāo)準(zhǔn)模塊上調(diào)用此方法,則將導(dǎo)致錯(cuò)誤發(fā)生,但是,如果在窗體模塊上進(jìn)行調(diào)用,則會(huì)在窗體上顯示“outputlist”。注意: 因?yàn)?Print 方法是按照字符比例進(jìn)行打印,所以字符數(shù)與字符所占據(jù)的寬度固定的列的數(shù)目無(wú)關(guān)。例如,像 “W” 這樣的寬字母占據(jù)的寬度超過(guò)一固定列寬,而像 i 這樣的窄字母占據(jù)的寬度則較小。考慮到要使用比平均字符更寬

27、的空間,表列一定要留有足夠余地。另外,也可以使用固定間距的字體(像 Courier 字體)來(lái)確保每一字符均只占一列。(4)PrintFrom方法用以將 Form 對(duì)象的圖象逐位發(fā)送給打印機(jī)。 語(yǔ)法:object.PrintForm 說(shuō)明:PrintForm 將打印 Form 對(duì)象的全部可見(jiàn)對(duì)象和位圖。在繪制圖形時(shí),如果 AutoRedraw 屬性為 True,則在運(yùn)行時(shí)PrintForm 將打印 Form 對(duì)象或 PictureBox 控件上的圖形。PrintForm 所使用的打印機(jī)是由操作系統(tǒng)的控制面板中的設(shè)置來(lái)決定。(5) Refresh方法強(qiáng)制全部重繪一個(gè)窗體或控件。語(yǔ)法:object.

28、Refresh說(shuō)明:在下列情況下使用 Refresh 方法: 在另一個(gè)窗體被加載時(shí)顯示一個(gè)窗體的全部。更新諸如 FileListBox 控件之類的文件系統(tǒng)列表框的內(nèi)容。更新 Data 控件的數(shù)據(jù)結(jié)構(gòu)。 Refresh 方法不能用于 MDI 窗體,但能用于 MDI 子窗體。不能在 Menu 或 Timer 控件上使用 Refresh 方法。通常,如果沒(méi)有事件發(fā)生,窗體或控件的繪制是自動(dòng)處理的。但是,有些情況下希望窗體或控件立即更新。例如,如果使用文件列表框、目錄列表框或者驅(qū)動(dòng)器列表框顯示當(dāng)前的目錄結(jié)構(gòu)狀態(tài),當(dāng)目錄結(jié)構(gòu)發(fā)生變化時(shí)可以使用 Refresh 更新列表??梢栽?Data 控件上使用 Re

29、fresh 方法來(lái)打開(kāi)或重新打開(kāi)數(shù)據(jù)庫(kù)(如果 DatabaseName, ReadOnly, Exclusive 或 Connect 屬性的設(shè)置值發(fā)生改變),并能重建控件的 Recordset 屬性內(nèi)的 dynaset。(6)Show方法用以顯示 MDIForm 或 Form 對(duì)象。語(yǔ)法:object.Show style, ownerform 說(shuō)明:如果調(diào)用 Show 方法時(shí)指定的窗體沒(méi)有裝載,Visual Basic 將自動(dòng)裝載該窗體。當(dāng) Show 在顯示無(wú)模式窗體時(shí),隨后遇到的代碼則要執(zhí)行。當(dāng) Show 在顯示模式窗體 (modal form) 時(shí),則隨后的代碼直到該窗體被隱藏或卸載時(shí)才

30、能執(zhí)行。當(dāng) Show 在顯示模式窗體時(shí),除了模式窗體中的對(duì)象之外不能進(jìn)行輸入(鍵盤(pán)或鼠標(biāo)單擊)。對(duì)其它窗體進(jìn)行輸入前程序必須隱藏或卸載模式窗體(通常是處于響應(yīng)用戶某些操作狀態(tài))。MDIForm 不能是形式的。在模式窗體顯示時(shí),雖然應(yīng)用程序中的其它窗體失效,但其它應(yīng)用程序不會(huì)失效。應(yīng)用程序的啟動(dòng)窗體在其 Load 事件調(diào)用后會(huì)自動(dòng)出現(xiàn)。下面的例子說(shuō)明如何使用ownerform 參數(shù):Private Sub cmdShowResults_Click() 顯示模式窗體 frmResults. frmResults.Show vbModal, MeEnd Sub(7)Cls方法清除運(yùn)行時(shí) Form 或

31、 PictureBox 所生成的圖形和文本。 語(yǔ)法:object.Cls說(shuō)明:Cls 將清除圖形和打印語(yǔ)句在運(yùn)行時(shí)所產(chǎn)生的文本和圖形,而設(shè)計(jì)時(shí)在 Form 中使用 Picture 屬性設(shè)置的背景位圖和放置的控件不受 Cls 影響。如果激活 Cls 之前 AutoRedraw 屬性設(shè)置為 False, 調(diào)用時(shí)該屬性設(shè)置為 True,則放置在 Form 或 PictureBox 中的圖形和文本也不受影響。 這就是說(shuō),通過(guò)對(duì)正在處理的對(duì)象的 AutoRedraw 屬性進(jìn)行操作,可以保持 Form 或 PictureBox 中的圖形和文本。調(diào)用 Cls 之后,object 的 CurrentX 和 C

32、urrentY 屬性復(fù)位為 0。3.窗體的常用事件 (1) Load事件這個(gè)事件發(fā)生在窗體被裝入內(nèi)存時(shí),且發(fā)生在窗體出現(xiàn)在屏幕之前。窗體出現(xiàn)之前,Visual Basic會(huì)看一看Load事件里有沒(méi)有代碼,如果有,那么它先執(zhí)行這些代碼,再讓窗體出現(xiàn)在屏幕上。(2) Click事件,Dblclick事件這兩個(gè)事件在單擊或雙擊窗體時(shí)發(fā)生。不過(guò)單擊窗體里的控件時(shí),窗體的Click事件并不會(huì)發(fā)生,Visual Basic會(huì)去看控件的Click事件里有沒(méi)有代碼。(3)Activate (活動(dòng)事件)與Deactivate(非活動(dòng)事件) 顯示多個(gè)窗體時(shí),可以從一個(gè)窗體切換到另一個(gè)窗體。每次激活一個(gè)窗體時(shí),發(fā)生

33、Activate 事件,而前一個(gè)窗體發(fā)生Deactivate事件。(4)Resize事件在窗體被改變大小時(shí)會(huì)觸發(fā)此事件。4.窗體的控制(1) 裝入或卸出窗體 要裝入或卸出窗體,用Load或Unload語(yǔ)句。 裝入窗體: Load formName 卸出窗體: UnLoad formNameFormName變量是要裝入或卸出的窗體名。 Load語(yǔ)句只是把窗體裝入內(nèi)存,并不顯示出來(lái),要顯示窗體可以使用窗體的Show方法。(2) 顯示或隱藏窗體 要顯示或隱藏窗體,用Show或Hide方法。若尚未裝入內(nèi)存則先裝入再顯示。 顯示窗體: formName.show mode 隱藏窗體: formName.

34、hide FormName變量是窗體名,可選變?cè)猰ode為0(缺省值)時(shí)窗體為非模態(tài),為1時(shí)窗體為模態(tài)。模態(tài)窗體完全占有應(yīng)用程序控制權(quán),不允許切換到別的應(yīng)用程序,除非關(guān)閉!而非模態(tài)窗體則反之。(3)END語(yǔ)句END語(yǔ)句的功能是終止應(yīng)用程序的執(zhí)行,并從內(nèi)存卸在所有窗體。語(yǔ)法是: END1.窗體的屬性(1)設(shè)置屬性的方法1)在設(shè)計(jì)態(tài)通過(guò)屬性窗口設(shè)置 直接在屬性窗口中選擇或輸入既可。2)在程序代碼中改變屬性值 代碼中的格式為: 對(duì)象名 . 屬性 = 屬性值 例:Form1.BackColor=RGB(255,0,0)2.窗體的常用方法(1)Hide方法用以隱藏 MDIForm 或 Form 對(duì)象,但

35、不能使其卸載。語(yǔ)法:object.Hide object 所在處代表一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略 object,則帶有焦點(diǎn)的窗體就認(rèn)為是該 object。說(shuō)明: 隱藏窗體時(shí),它就從屏幕上被刪除,并將其 Visible 屬性設(shè)置為 False。 用戶將無(wú)法訪問(wèn)隱藏窗體上的控件,但是對(duì)于運(yùn)行中的 Visual Basic 應(yīng)用程序,或?qū)τ谕ㄟ^(guò) DDE 與該應(yīng)用程序通訊的進(jìn)程及對(duì)于 Timer 控件的事件,隱藏窗體的控件仍然是可用的。窗體被隱藏時(shí),用戶只有等到被隱藏窗體的事件過(guò)程的全部代碼執(zhí)行完后才能夠與該應(yīng)用程序交互。如果調(diào)用 Hide 方法時(shí)窗體還沒(méi)有加載,那么 H

36、ide 方法將加載該窗體但不顯示它。(2)Move方法用以移動(dòng) MDIForm、Form 或控件。語(yǔ)法:object . Move left, top, width, heightMove 方法的語(yǔ)法包含下列部分:說(shuō)明:只有 left 參數(shù)是必須的。但是,要指定任何其它的參數(shù),必須先指定出現(xiàn)在語(yǔ)法中該參數(shù)前面的全部參數(shù)。例如,如果不先指定 left 和 top 參數(shù),則無(wú)法指定 width 參數(shù)。任何沒(méi)有指定的尾部的參數(shù)則保持不變。(3)Print 方法在 Immediate 窗口中顯示文本。語(yǔ)法:object . Print outputlist Print 方法的語(yǔ)法具有下列對(duì)象限定符和部

37、分:outputlist 參數(shù)具有以下語(yǔ)法和部分:Spc(n) | Tab(n) expression charpos說(shuō)明:可以用空白或分號(hào)來(lái)分隔多個(gè)表達(dá)式。對(duì)系統(tǒng)指定的國(guó)別設(shè)置,用小數(shù)點(diǎn)分隔符將所有打印到 Immediate 視窗的數(shù)據(jù)正確格式化。關(guān)鍵字要用適用于主應(yīng)用程序的語(yǔ)言輸出。對(duì)于 Boolean 數(shù)據(jù),或者打印 True 或者打印 False。根據(jù)主機(jī)應(yīng)用程序的地區(qū)設(shè)置來(lái)翻譯 True 和 False 關(guān)鍵字。使用系統(tǒng)能識(shí)別的標(biāo)準(zhǔn)短日期格式書(shū)寫(xiě) Date 數(shù)據(jù)。當(dāng)日期或時(shí)間部件丟失或?yàn)榱銜r(shí),只書(shū)寫(xiě)已提供的部件。如果 outputlist 數(shù)據(jù)是 Empty,則無(wú)內(nèi)容可寫(xiě)。但是,如果

38、 outputlist 數(shù)據(jù)是 Null,則輸出 Null。在輸出 Null 關(guān)鍵字時(shí),要把關(guān)鍵字正確翻譯出來(lái)。要把錯(cuò)誤數(shù)據(jù)作為 Error errorcode 輸出。在輸出 Error 關(guān)鍵字時(shí),要把關(guān)鍵字正確翻譯出來(lái)。如果在具有缺省顯示空間的模塊外使用此方法,則需要 object。例如,如果沒(méi)有指定對(duì)象就在標(biāo)準(zhǔn)模塊上調(diào)用此方法,則將導(dǎo)致錯(cuò)誤發(fā)生,但是,如果在窗體模塊上進(jìn)行調(diào)用,則會(huì)在窗體上顯示“outputlist”。注意: 因?yàn)?Print 方法是按照字符比例進(jìn)行打印,所以字符數(shù)與字符所占據(jù)的寬度固定的列的數(shù)目無(wú)關(guān)。例如,像 “W” 這樣的寬字母占據(jù)的寬度超過(guò)一固定列寬,而像 i 這樣的

39、窄字母占據(jù)的寬度則較小??紤]到要使用比平均字符更寬的空間,表列一定要留有足夠余地。另外,也可以使用固定間距的字體(像 Courier 字體)來(lái)確保每一字符均只占一列。(4)PrintFrom方法用以將 Form 對(duì)象的圖象逐位發(fā)送給打印機(jī)。 語(yǔ)法:object.PrintForm 說(shuō)明:PrintForm 將打印 Form 對(duì)象的全部可見(jiàn)對(duì)象和位圖。在繪制圖形時(shí),如果 AutoRedraw 屬性為 True,則在運(yùn)行時(shí)PrintForm 將打印 Form 對(duì)象或 PictureBox 控件上的圖形。PrintForm 所使用的打印機(jī)是由操作系統(tǒng)的控制面板中的設(shè)置來(lái)決定。2.3 控件1.常用控件

40、介紹(1)常用控件的屬性、方法和事件ComboBox 組合框(將列表框和文本框結(jié)合在一起)Style屬性外觀屬性:取0時(shí),系統(tǒng)創(chuàng)建一個(gè)帶下拉式列表框的組合框;為1時(shí),系統(tǒng)創(chuàng)建一個(gè)由文本框和列表框直接組合在一起的簡(jiǎn)單組合框,可以從列表框中選擇,也可以直接在文本框中輸入;為2時(shí),系統(tǒng)創(chuàng)建一個(gè)沒(méi)有文本框的下拉式列表框,單擊列表框上的按鈕才顯示文本框,用戶不能在文本框中輸入,只能在列表框中選擇。Text 屬性其值為用戶從列表框中選定的文本或直接輸入的文本。AddItem方法添加列表項(xiàng),使用格式: 對(duì)象名. AddItem,插入位置序號(hào)若不指定位置,則插入到列表末尾。Clear方法刪除列表所有項(xiàng)目Rem

41、oveItem 方法刪除列表項(xiàng),使用格式: 對(duì)象名 . RemoveItem 刪除項(xiàng)序號(hào)CommandButton 命令按鈕Cancel屬性取消屬性,它為T(mén)rue時(shí), 按ESC即等于單擊此按鈕。Default屬性缺省屬性,它為T(mén)rue時(shí), 按回車(chē)鍵即等于單擊此按鈕。Timer計(jì)時(shí)器Interval屬性兩次調(diào)用Timer事件的事件間隔,用于創(chuàng)建動(dòng)態(tài)效果。Frame 框架CheckBox 復(fù)選框OptionButton選項(xiàng)按鈕Alignment屬性決定它們的對(duì)齊方式,0=左對(duì)齊,1=右對(duì)齊。Value屬性決定它們是否被選中的屬性2.常用控件的使用辨析 (1)文本框和標(biāo)簽的區(qū)別: 文本框通常用于向計(jì)

42、算機(jī)輸入信息,而標(biāo)簽通常用于輸出信息。文本框是一個(gè)十分重要的控件,因?yàn)橛蓮?fù)選框和選項(xiàng)按鈕向程序輸入的信息畢竟只有少數(shù)的幾條信息而已。標(biāo)簽和文本框的區(qū)別很小,標(biāo)簽可以看成是一個(gè)在運(yùn)行時(shí)不能修改正文的文本框,因此標(biāo)簽主要用于輸出信息。 (2) Label的AutoSize屬性和WordWrap屬性為了使標(biāo)簽具有垂直伸展和字換行處理,必須設(shè)置它的AutoSize屬性和WordWrap屬性同時(shí)為T(mén)rue。AutoSize屬性為False,WordWrap屬性為False時(shí),若標(biāo)簽不夠高而Caption太長(zhǎng)時(shí),Caption將被切割掉。AutoSize屬性為False,WordWrap屬性為T(mén)rue時(shí),

43、情況也如此。AutoSize屬性為T(mén)rue,WordWrap屬性為False時(shí),表示可以水平伸展,但只顯示一行信息。(3) PictureBox和Image的Stretch屬性和AutoSize屬性Image只有Stretch屬性,而PictureBox只有AutoSize屬性。AutoSize屬性設(shè)為T(mén)rue,則PictureBox改變自己的大小來(lái)適應(yīng)其中的圖形。Stretch屬性設(shè)為T(mén)rue,則Image中的圖形將改變自己的大小來(lái)適應(yīng)外面的邊框。(4)Frame 框架、CheckBox 復(fù)選框、OptionButton選項(xiàng)按鈕的區(qū)別:復(fù)選框和選項(xiàng)按鈕用于向程序輸入信息, 框架用來(lái)對(duì)復(fù)選框和

44、選項(xiàng)按鈕進(jìn)行分組。復(fù)選框選中時(shí)會(huì)在小方框里打一個(gè)鉤,選項(xiàng)按鈕選中時(shí)會(huì)在小圓圈里點(diǎn)一個(gè)點(diǎn)。2.4 定制菜單1菜單概述Windows中的菜單一般由菜單條、菜單、菜單項(xiàng)、子菜單、彈出式菜單組成。2普通菜單的設(shè)計(jì)(1)給菜單命名菜單標(biāo)題和菜單命令也有Caption和Name屬性,設(shè)置了這兩個(gè)屬性就等于創(chuàng)建了菜單。Name是一個(gè)抽象名稱,Caption是屏幕上可見(jiàn)的,可在Caption里加入 “&” 來(lái)設(shè)置熱鍵。(2)增加和刪除菜單在Menu Editor中部有三個(gè)命令鈕分別是下一個(gè)、插入、刪除。插入可用來(lái)增加新的菜單。在這三個(gè)鍵下面的Caption列表框里選中菜單項(xiàng)(這時(shí)它的底色就變成深藍(lán)色),單擊插

45、入鍵,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è)置分離條分離條是指在菜單中將命令分組的線,VB將分離條

46、也看成一個(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之類,以表明分離條的位置。(5) 菜單的各種簡(jiǎn)單屬性在菜單編輯器里有許多確認(rèn)框和一些文本框及一個(gè)下拉式的列表框,這些決定了菜單的各種屬性。1) Checked 復(fù)選屬性這個(gè)屬性值設(shè)置為真,將在菜單命令左邊產(chǎn)生一個(gè)打勾的確認(rèn)標(biāo)志。2) Enabled有效屬性 各種各樣的用戶會(huì)產(chǎn)生千奇百怪的操作,在許多Edit菜單里都會(huì)有不同形式的讓菜單

47、命令模糊的情況。Enabled屬性為真,則菜單命令是清晰的,Enabled屬性為假,則菜單命令是模糊的,這時(shí)用戶就不能選中這個(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 = FalsemnuProperty.Visible = False還可以改變Capt

48、ion等屬性。mnuUndo.Caption = “Redo”3. 生成彈出式菜單(或浮動(dòng)菜單) 幾乎每個(gè)Windows應(yīng)用程序都提供彈出式菜單,用戶可以右鍵單擊窗體或控件取得這個(gè)菜單。彈出式菜單也屬于普通菜單,只是不固定在窗體上,而是可以在任何地方顯示。彈出式菜單用PopupMenu方法調(diào)用。假設(shè)已經(jīng)用菜單編輯器生成了名為mnuedit的菜單,則可以在MouseUp事件加入如下代碼就可以生成彈出式菜單:If Button = 2 Then PopupMenu mnuedit2.5設(shè)計(jì)狀態(tài)條、工具欄、進(jìn)程條等1創(chuàng)建狀態(tài)條選中狀態(tài)條,按F4鍵進(jìn)入屬性窗口,雙擊(Custom)可以進(jìn)入主要的設(shè)置窗

49、口SBarCtrl屬性窗口。(1) 選擇面板形狀在SBarCtrl屬性窗口里選擇General標(biāo)簽,在Style列表框里選擇多面板(缺省形式)或單面板簡(jiǎn)單文本形式。(2) 添加或刪除狀態(tài)條面板 在SBarCtrl屬性窗口里選擇Panels標(biāo)簽,單擊Insert按鈕添加一個(gè)面板,或單擊Remove按鈕刪除一個(gè)面板。(3) 在單面板里顯示文本 在SBarCtrl屬性窗口里選擇General標(biāo)簽,在SimpleText框里輸入想顯示在狀態(tài)條面板里的文本。用代碼顯示的方式是:StatusBar1.SimpleText = New string to appear(4) 在多面板里顯示文本或圖形1).

50、在SBarCtrl屬性窗口里選擇Panels標(biāo)簽,用Index旁的按鈕選擇面板序號(hào)。2). 在Text框里輸入想顯示在狀態(tài)條面板里的文本。3). 如果想加入圖形,單擊Browse按鈕打開(kāi)一個(gè)圖形選擇對(duì)話框,選擇想加入的圖形,然后單擊打開(kāi)按鈕。4). 最后按確定按鈕。5). 用代碼顯示的方式是:StatusBar1.Panels(x).Text = New string to appear6). 編寫(xiě)代碼如果是一個(gè)單面板狀態(tài)條,當(dāng)用戶單擊狀態(tài)條時(shí),只需用下面的事件過(guò)程來(lái)響應(yīng):Private Sub StatusBar1_Click()End Sub如果是一個(gè)多面板狀態(tài)條,就需要鑒別用戶單擊的是哪

51、一個(gè)面板,可用下面的事件過(guò)程來(lái)識(shí)別用戶所單擊的面板:Private Sub StatusBar1_PanelClick(ByVal Panel As Panel)Select Case Panel.IndexCase 1Code to follow if user clicks the first panelCase 2Code to follow if user clicks the second panelCase 3Code to follow if user clicks the third panelEnd SelectEnd Sub2創(chuàng)建工具欄(1)建立工具條1).在工具箱里單擊工

52、具條圖標(biāo),拖到窗體的任何位置,Visual Basic自動(dòng)將ToolBar移到頂部。2).按F4鍵打開(kāi)屬性窗口。3).雙擊(Custom),打開(kāi)ToolBar屬性窗口。4). 選擇Buttons標(biāo)簽。5). 單擊Insert按鈕,Visual Basic就會(huì)在你的工具條上顯示一個(gè)空按鈕,現(xiàn)在為你的每一個(gè)按鈕重復(fù)這一步。6). 單擊確定按鈕。 如果想把按鈕分組,首先生成一個(gè)分隔的按鈕,再在剛才提到的對(duì)話框里將這個(gè)按鈕的Style屬性改為3-Separator。(2) 為工具條增加圖畫(huà)1). 在Visual Basic工具箱里單擊ImageList圖標(biāo),并將它拖到窗體的任何位置(位置不重要,因?yàn)樗偸遣豢梢?jiàn)的)。2). 按F4打開(kāi)屬性窗口。3). 雙擊(Custom),打開(kāi)ImageListCtrl屬性窗口。4). 選擇Image標(biāo)簽。5). 單擊Insert Picture,在現(xiàn)在圖形的對(duì)話框里選擇想使用的位圖或圖標(biāo),然后單擊打開(kāi)按鈕。為每個(gè)想添加圖形的工具條按鈕重復(fù)此步。6). 單擊確定按鈕。7). 單擊工具條,按F4,雙擊(Custom),顯示ToolBar屬性對(duì)話框。8). 選擇General標(biāo)簽,在ImageList框里選擇剛才添加的ImageList控件。9). 選擇Buttons標(biāo)簽,單擊緊挨

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論