零基礎(chǔ)學(xué)visual basic.ppt_第1頁(yè)
零基礎(chǔ)學(xué)visual basic.ppt_第2頁(yè)
零基礎(chǔ)學(xué)visual basic.ppt_第3頁(yè)
零基礎(chǔ)學(xué)visual basic.ppt_第4頁(yè)
零基礎(chǔ)學(xué)visual basic.ppt_第5頁(yè)
已閱讀5頁(yè),還剩488頁(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、第1章 掌握Visual Basic 的開(kāi)發(fā)環(huán)境,在使用Visual Basic編寫程序之前,應(yīng)當(dāng)熟悉Visual Basic的開(kāi)發(fā)環(huán)境,只有熟悉了開(kāi)發(fā)環(huán)境,才能如魚(yú)得水般地編寫應(yīng)用程序。此外,能熟練地使用幫助系統(tǒng)對(duì)編程人員來(lái)說(shuō)也是相當(dāng)重要的一種技能。本章將講述Visual Basic的發(fā)展史、安裝啟動(dòng)的方法、集成開(kāi)發(fā)環(huán)境的設(shè)置、幫助系統(tǒng)的使用等知識(shí)。,1.1Visual Basic概述,Visual Basic是在BASIC語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,因此它有BASIC語(yǔ)言的簡(jiǎn)單而又不貧乏的優(yōu)點(diǎn)。對(duì)于初學(xué)者來(lái)說(shuō),將Visual Basic當(dāng)作自己的第一門編程語(yǔ)言學(xué)習(xí)是一件非常好的想法。因?yàn)閂is

2、ual Basic最大的優(yōu)點(diǎn)就是易學(xué)易用,但用其開(kāi)發(fā)出來(lái)的軟件功能卻是讓人贊嘆不已的。,1.1.1 BASIC 語(yǔ)言的發(fā)展歷史,BASIC相對(duì)于其他計(jì)算機(jī)編程語(yǔ)言來(lái)說(shuō),可以稱為古老的編程語(yǔ)言了。它在美國(guó)計(jì)算機(jī)科學(xué)家John Kemeny和Thomas Kurtz的設(shè)計(jì)之下,誕生于1964年,迄今為止經(jīng)歷了40多年。其間經(jīng)歷了GW-Basic、True Basic、Turbo Basic、Quick Basic C等很多版本。隨著Windows的流行,微軟的工程師們著眼于未來(lái)在改進(jìn)Quick Basic的基礎(chǔ)上開(kāi)發(fā)了Visual Basic的第一個(gè)版本。其后,Visual Basic一發(fā)而不可收

3、拾,被世界各地的許多程序員所熱愛(ài)。微軟在1991年推出Visual Basic 1.0以后,于1992年、1993年、1995年、1997年和1998年接連發(fā)布了Visual Basic 2.0、3.0、4.0、5.0和6.0版本。,1.1.2 Visual Basic 的特點(diǎn),Visual Basic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言,可用于開(kāi)發(fā)Windows環(huán)境下的各類應(yīng)用程序。它簡(jiǎn)單易學(xué)、效率高,而且功能強(qiáng)大。,1.1.3 Visual Basic 的版本,Visual Basic6.0包括3種版本,分別為學(xué)習(xí)版、專業(yè)版和企業(yè)版。3種版本適合于不同層次的用

4、戶。(具體內(nèi)容請(qǐng)參照本書(shū)),1.2Visual Basic 的安裝與啟動(dòng),了解了Visual Basic的歷史、特點(diǎn)和版本后,下面介紹其安裝方法和啟動(dòng)方法。本書(shū)采用的環(huán)境為Windows XP操作系統(tǒng);將要安裝的Visual Basic版本為Visual Basic 6.0企業(yè)版。,1.2.1 Visual Basic 6.0 企業(yè)版的安裝,Visual Basic 6.0可以在多種操作系統(tǒng)下運(yùn)行,包括Windows95、Windows98、Windows NT、Windows2000、Windows XP、Windows Vista等,為了敘述方便,在本書(shū)中一律稱作Windows。本書(shū)中使用

5、的操作系統(tǒng)為Windows XP。(具體內(nèi)容請(qǐng)參照本書(shū)),1.2.2 啟動(dòng)Visual Basic,安裝完成后,需要啟動(dòng)Visual Basic系統(tǒng)。有幾種啟動(dòng)Visual Basic的方法,其中一種方法是,在Windows系統(tǒng)中,將光標(biāo)移到桌面左下角的“開(kāi)始”菜單上,單擊該菜單,從上方彈出的菜單里選擇“程序 | Microsoft Visual Basic6.0中文版 | Microsoft Visual Basic6.0中文版”,(具體內(nèi)容請(qǐng)參照本書(shū)),1.3 Visual Basic 集成開(kāi)發(fā)環(huán)境,開(kāi)發(fā)Visual Basic程序都要在Visual Basic集成開(kāi)發(fā)環(huán)境中進(jìn)行。該環(huán)境由

6、多個(gè)部分組成,包括標(biāo)題欄、菜單欄、工具欄、工具箱、工程資源管理器、屬性窗口和窗體布局窗口,,1.3.1 標(biāo)題欄和菜單欄,1、標(biāo)題欄 窗體頂部的水平條,用來(lái)顯示應(yīng)用程序的工程名稱。標(biāo)題文字后面第一個(gè)方括號(hào)內(nèi)指出了目前所處的狀態(tài)。狀態(tài)有三種,分別為設(shè)計(jì)、運(yùn)行和中斷。 2、菜單欄 位于標(biāo)題欄的下方,Visual Basic的菜單欄與其他的窗口應(yīng)用程序中所見(jiàn)到的菜單十分相似。菜單欄的最左端是“文件”菜單,用其可以創(chuàng)建、打開(kāi)、保存、文件對(duì)象和編譯應(yīng)用程序。,1.3.2 工具欄,緊挨著菜單欄下面的便是Visual Basic的工具欄,如果集成環(huán)境中沒(méi)有工具欄,請(qǐng)選擇“視圖” |“工具欄” | “標(biāo)準(zhǔn)”菜單

7、項(xiàng)。雖然可以利用菜單來(lái)控制整個(gè)的Visual Basic環(huán)境,但工具欄能夠更加方便快捷地執(zhí)行菜單欄中的一些常用命令。,1.3.3 窗體設(shè)計(jì)器和工程資源管理器,1、窗體設(shè)計(jì)器窗口 窗體設(shè)計(jì)器窗口簡(jiǎn)稱窗體(Form),其就像是一塊畫(huà)布,編程人員可以根據(jù)程序界面的需要,使用工具箱中的工具在其上繪制各種圖形。當(dāng)打開(kāi)一個(gè)新的工程文件時(shí),Visual Basic會(huì)建立一個(gè)空白的窗體,并命名為Form1,其窗體內(nèi)部布滿了小點(diǎn),這些小點(diǎn)是供對(duì)齊用的。如果想清除這些小點(diǎn)或者想改變點(diǎn)與點(diǎn)之間的距離,則可通過(guò)執(zhí)行“工具” | “選項(xiàng)”菜單來(lái)調(diào)整。,1.3.4 工具箱和屬性窗口,(具體內(nèi)容請(qǐng)參照本書(shū)),1.3.5 代

8、碼編輯器窗口和窗體布局窗口,(具體內(nèi)容請(qǐng)參照本書(shū)),1.3.6 定制自己的開(kāi)發(fā)環(huán)境,用戶可以在Visual Basic 6.0中,按照自己的喜好定制集成開(kāi)發(fā)環(huán)境。例如,在使用變量時(shí)進(jìn)行強(qiáng)制聲明、定義每個(gè)Tab鍵代表多少個(gè)空格、改變代碼編輯區(qū)內(nèi)的字體大小等。在編程時(shí),有一個(gè)順心如意的開(kāi)發(fā)環(huán)境,不僅使用起來(lái)方便更會(huì)提高工作效率,因此定制適合自己的開(kāi)發(fā)環(huán)境十分重要。設(shè)置集成開(kāi)發(fā)環(huán)境的方法是選擇“工具” |“選項(xiàng)”菜單項(xiàng),在打開(kāi)的“選項(xiàng)”對(duì)話框內(nèi)進(jìn)行相應(yīng)的設(shè)置。下面詳細(xì)講述對(duì)話框內(nèi)每一個(gè)標(biāo)簽頁(yè)的內(nèi)容。(具體內(nèi)容請(qǐng)參照本書(shū)),1.4 Visual Basic 6.0的幫助系統(tǒng),在使用Visual Bas

9、ic開(kāi)發(fā)應(yīng)用程序時(shí),經(jīng)常會(huì)遇到各種難題或者疑問(wèn)。這時(shí),Visual Basic的幫助系統(tǒng)會(huì)給解決大部分的問(wèn)題。作為一個(gè)編程人員,學(xué)會(huì)使用幫助系統(tǒng)是非常必要的。下面介紹使用幫助系統(tǒng)的三種方法和解決問(wèn)題的一種方法。,1.4.1 MSDN Library的使用,(具體內(nèi)容請(qǐng)參照本書(shū)),1.4.2 上下文幫助,Visual Basic 的許多部分是上下文相關(guān)的。上下文相關(guān)意味著不必搜尋“幫助”菜單就可直接獲得有關(guān)這些部分的幫助。例如,為了獲得有關(guān) Visual Basic 語(yǔ)言中任何關(guān)鍵詞的幫助,只須將插入點(diǎn)置于“代碼”窗口中的關(guān)鍵詞上并按 F1 鍵。在 Visual Basic 界面的任何上下文相關(guān)

10、部分上按 F1 鍵,就可顯示有關(guān)該部分的信息。(具體內(nèi)容請(qǐng)參照本書(shū)),1.4.3 微軟網(wǎng)上編程資源,從MSDN Library光盤中獲取幫助以外,也可以去微軟的網(wǎng)站上查看關(guān)于Visual Basic的更多相關(guān)信息。該站點(diǎn)由“技術(shù)資源庫(kù)”、“學(xué)習(xí)”、“下載”、“支持”和“社區(qū)”等幾個(gè)板塊組成。,1.4.4 使用Google 搜索引擎尋求幫助,當(dāng)MSDN提供的幫助不太詳細(xì)或者不符合要求的時(shí)候,從互聯(lián)網(wǎng)上獲取幫助成為了解決問(wèn)題的一種相當(dāng)重要的手段。而Google、百度等搜索引擎就是獲取幫助信息的重要工具。獲取信息的方法非常簡(jiǎn)單,就像查找普通信息一樣,在搜索頁(yè)面的搜索欄內(nèi)輸入關(guān)鍵字并執(zhí)行搜索就可以了。

11、(具體內(nèi)容請(qǐng)參照本書(shū)),1.5 創(chuàng)建第一個(gè)應(yīng)用程序,前面介紹了很多知識(shí),但是還沒(méi)有真正的編寫過(guò)一道程序。下面帶領(lǐng)讀者編寫一個(gè)幾乎成為了所有程序設(shè)計(jì)語(yǔ)言教科書(shū)中第一道程序的Hello World實(shí)例。麻雀雖小,五臟俱全,這個(gè)程序雖然很簡(jiǎn)單,但其展示了Visual Basic應(yīng)用程序設(shè)計(jì)的全過(guò)程。(具體內(nèi)容請(qǐng)參照本書(shū)),1.5.1 創(chuàng)建工程,Visual Basic 6.0用工程的形式管理應(yīng)用程序。通常是一個(gè)應(yīng)用程序?qū)?yīng)一個(gè)工程。一個(gè)可執(zhí)行的工程中可以有多個(gè)窗體,也可以只有一個(gè)窗體。本例題的工程中只有一個(gè)窗體。編程的第一步,使用下面3種方法的任意一種創(chuàng)建本例題的工程文件。(具體內(nèi)容請(qǐng)參照本書(shū)),1

12、.5.2 設(shè)計(jì)界面,用戶界面是一個(gè)應(yīng)用程序最重要的部分,對(duì)用戶而言,界面就是應(yīng)用程序,他們感覺(jué)不到幕后正在執(zhí)行的代碼。不論花多少時(shí)間和精力來(lái)編制和優(yōu)化代碼,用戶對(duì)程序的認(rèn)可很大程度上還是取決于界面的好壞。(具體內(nèi)容請(qǐng)參照本書(shū)),1.5.3 編寫程序,一個(gè)Visual Basic應(yīng)用程序可以說(shuō)由兩部分組成:用戶界面和程序代碼。上面建立了用戶界面,本例第三步應(yīng)該針對(duì)于界面編寫程序代碼了。(具體內(nèi)容請(qǐng)參照本書(shū)),1.5.4 運(yùn)行程序,編寫完過(guò)程(事件)代碼之后,本例的第四步是運(yùn)行程序。前面講述過(guò),Visual Basic的集成開(kāi)發(fā)環(huán)境有三種狀態(tài),分別為設(shè)計(jì)、運(yùn)行和中斷。如果想要看到運(yùn)行結(jié)果,必須將狀

13、態(tài)改為運(yùn)行狀態(tài)。,1.5.5 保存程序,(具體內(nèi)容請(qǐng)參照本書(shū)),1.5.6 生成EXE 可執(zhí)行文件,為了讓程序即使離開(kāi)Visual Basic的集成開(kāi)發(fā)環(huán)境也能正常運(yùn)行,通常會(huì)把程序變成EXE可執(zhí)行文件。當(dāng)然,如果想把程序放到?jīng)]有安裝Visual Basic的機(jī)器上運(yùn)行,只將其變成EXE文件是不行的。必須要做成安裝文件才可以,因?yàn)閃indows運(yùn)行Visual Basic應(yīng)用程序時(shí),會(huì)用到一些特殊文件。(具體內(nèi)容請(qǐng)參照本書(shū)),第2章 對(duì)象和窗體,對(duì)象是面向?qū)ο笳Z(yǔ)言里非常重要的概念,也是作為面向?qū)ο笳Z(yǔ)言的Visual Basic的非常重要的概念。Visual Basic的對(duì)象主要分為窗體和控件兩

14、類。這一章將介紹Visual Basic最基本的兩種對(duì)象窗體和控件之一的窗體。,2.1 對(duì)象,在Visual Basic中,所有窗體和控件都是對(duì)象,每一個(gè)對(duì)象都擁有同類對(duì)象的各種特點(diǎn)和功能。在面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言里將其特點(diǎn)稱為屬性,將其功能稱為事件或者方法。,2.1.1 什么是對(duì)象,在面向?qū)ο蟮某绦蛟O(shè)計(jì)思想里,大千世界的萬(wàn)物都是對(duì)象。為了方便研究、管理,人們把擁有共同特征和行為的對(duì)象都放到了一起,并引入了類的概念。Visual Basic中的對(duì)象與普通面向?qū)ο笳Z(yǔ)言的對(duì)象在概念上是一樣的,但使用方法有很大的區(qū)別。在Visual Basic中經(jīng)常用到的對(duì)象主要有窗體和控件兩種。在Visual Ba

15、sic中將對(duì)象的特征稱為屬性,將行為稱為事件或方法。如按鈕上顯示的文字、按鈕的高度和寬度等都稱為屬性,單擊按鈕稱為事件。,2.1.2 對(duì)象屬性設(shè)置,對(duì)象大部分屬性可以通過(guò)屬性窗口設(shè)置,也可以在程序代碼里設(shè)置。在屬性窗口里設(shè)置對(duì)象屬性的方法是:(1)通過(guò)用鼠標(biāo)左鍵單擊,選中對(duì)象。使其周圍有8個(gè)小方塊出現(xiàn)。(2)在屬性窗口里找到相應(yīng)屬性,改變?cè)搶傩杂覀?cè)欄里的值后對(duì)象屬性即可被改變。(具體內(nèi)容請(qǐng)參照本書(shū)),2.2 窗體概述,在Windows編程中,窗體是界面設(shè)計(jì)的基礎(chǔ),沒(méi)有窗體也就無(wú)從談起用戶界面。因此窗體在程序設(shè)計(jì)中的重要性是可想而知的。所以掌握窗體的相關(guān)知識(shí)是非常必要的一件事情。,2.2.1 窗

16、體的構(gòu)成,首先介紹窗體的構(gòu)成,窗體最上邊的藍(lán)色橫條是標(biāo)題欄。標(biāo)題欄內(nèi)右側(cè)三個(gè)按鈕從左到右分別為“最小化”按鈕、“最大化”按鈕和“關(guān)閉按鈕”。如果單擊窗體的“最小化”按鈕,窗體會(huì)從屏幕上消失,并縮小為Windows任務(wù)欄上的一個(gè)按鈕,單擊其就會(huì)恢復(fù)原狀。單擊“最大化”按鈕可以將窗體放大至整個(gè)屏幕。單擊“關(guān)閉”按鈕可以關(guān)閉窗體。標(biāo)題欄內(nèi)最左側(cè)的圖標(biāo)為控制菜單圖標(biāo),單擊它就會(huì)出現(xiàn)一個(gè)下拉菜單。控制菜單圖標(biāo)右側(cè)的文字“Form1”是該窗體的標(biāo)題。,2.2.2 添加和刪除窗體,在一個(gè)大型的應(yīng)用程序中,一般會(huì)有多個(gè)窗體。而新建的Visual Basic工程中,只包含一個(gè)窗體。下面介紹在工程中添加新窗體的3

17、種方法。(具體內(nèi)容請(qǐng)參照本書(shū)),2.3 窗體的屬性,窗體的屬性決定了窗體的外觀以及其工作方式。Visual Basic中每個(gè)對(duì)象都至少有一個(gè)屬性,大多數(shù)對(duì)象有多個(gè)屬性,窗體也是如此。下面將窗體的常用屬性介紹給讀者。,2.3.1 設(shè)置窗體的背景顏色,設(shè)置窗體背景顏色的屬性為BackColor屬性。該屬性為數(shù)值型屬性,其值是一個(gè)十六進(jìn)制數(shù)值??梢酝ㄟ^(guò)屬性窗口和程序代碼改變其值。(具體內(nèi)容請(qǐng)參照本書(shū)),2.3.2 改變窗體邊框的樣式,設(shè)置窗體邊框樣式的屬性為BorderStyle屬性。該屬性為枚舉型屬性,其值只能從6個(gè)固定值中選擇,每個(gè)值的作用見(jiàn)表2.1。該屬性只能通過(guò)屬性窗口改變其值。,2.3.3

18、 設(shè)置窗體的標(biāo)題,設(shè)置窗體標(biāo)題的屬性為Caption屬性。該屬性為字符型屬性??梢酝ㄟ^(guò)屬性窗口和程序代碼改變其值。(具體內(nèi)容請(qǐng)參照本書(shū)),2.3.4 設(shè)置窗體的高度和寬度,設(shè)置窗體高度和寬度的屬性分別為Height和Width屬性。這兩個(gè)屬性為數(shù)值型屬性,其計(jì)量單位為twip(1英寸=1440twip)??梢酝ㄟ^(guò)屬性窗口和程序代碼設(shè)置其值。將Form1的高度和寬度分別設(shè)置為5000和10000,如果通過(guò)代碼應(yīng)該寫為: Form1.Height = 5000 Form1.Width = 10000,2.3.5 改變窗體的圖標(biāo),設(shè)置窗體圖標(biāo)的屬性為Icon屬性。一般情況下此屬性的設(shè)置,都會(huì)在設(shè)計(jì)階

19、段通過(guò)屬性窗口設(shè)置。其值為.ICO或.CUR格式的圖標(biāo)文件。通過(guò)屬性窗口的設(shè)置方法為:用鼠標(biāo)單擊Icon屬性,其右端會(huì)出現(xiàn)一個(gè)帶有三個(gè)小點(diǎn)的按鈕。單擊該按鈕后,會(huì)出現(xiàn)一個(gè)“加載圖標(biāo)”對(duì)話框,通過(guò)對(duì)話框選擇合適的圖標(biāo)文件即可改變窗體圖標(biāo)。 如果通過(guò)程序來(lái)設(shè)置,則需使用LoadPicture函數(shù)。LoadPicture函數(shù)的具體用法在以后的章節(jié)里詳細(xì)講解。,2.3.6 改變窗體的名稱,設(shè)置窗體名稱的屬性為Name屬性。該屬性只能在設(shè)計(jì)階段通過(guò)屬性窗口設(shè)置。上面例題中出現(xiàn)的Form1.Caption、Form1.Height 的Form1就是窗體的名稱。該屬性的作用是在程序里用來(lái)惟一確定一個(gè)對(duì)象。(

20、具體內(nèi)容請(qǐng)參照本書(shū)),2.3.7 設(shè)置窗體的背景圖片,設(shè)置窗體背景圖片的屬性為Picture屬性??梢酝ㄟ^(guò)屬性窗口和程序代碼改變其值。通過(guò)屬性窗口設(shè)置的方法與設(shè)置窗體Icon屬性的方法一樣,在此不再重復(fù)。代碼改變其值時(shí)也需要用到LoadPicture函數(shù)。通用格式為: 窗體.Picture = LoadPicture(文件名),2.3.8 窗體的顯示位置,設(shè)置窗體顯示位置的屬性有兩個(gè),分別為Top和Left。Top用來(lái)設(shè)置窗體的頂邊位置,其值代表窗體頂邊和屏幕頂邊之間的距離。Left用來(lái)設(shè)置窗體左邊的位置,其值代表窗體左邊和屏幕左邊之間的距離。這兩個(gè)屬性為數(shù)值型屬性,計(jì)量單位為twip。,2.

21、3.9 窗體的可見(jiàn)性,設(shè)置窗體可見(jiàn)性的屬性為Visible屬性。可以通過(guò)屬性窗口和程序代碼改變其值。該屬性為邏輯型屬性,因此只有兩種值分別為True和False。如果在設(shè)計(jì)階段將窗體的Visible屬性設(shè)置為False,運(yùn)行后該窗體將不可見(jiàn),其默認(rèn)值為True。通過(guò)代碼改變的格式為: 窗體.Visible=True (或false),2.3.10窗體的顯示狀態(tài),設(shè)置窗體顯示狀態(tài)的屬性為WindowState屬性。窗口的顯示狀態(tài)主要有正常、最小化和最大化等三種狀態(tài)。如果想啟動(dòng)窗體時(shí)就像讓窗體以最大化的狀態(tài)顯示,就將該屬性設(shè)置為2;如果想要讓窗體以設(shè)計(jì)時(shí)的大小顯示,就將設(shè)置為0;如果以最小化的狀態(tài)

22、顯示將該屬性設(shè)置為1即可。通過(guò)代碼改變的格式為: 窗體. WindowState=0 (或1,或2),2.4 窗體的方法,窗體有一些特殊的命令,用來(lái)命令窗體應(yīng)該做什么。在Visual Basic中將其稱為方法(Method)。在這一節(jié)講述窗體的幾個(gè)常用方法。,2.4.1 Print(輸出)方法,該方法用來(lái)向窗口、圖形對(duì)象或打印機(jī)輸出數(shù)據(jù)。在DOS操作系統(tǒng)下運(yùn)行的老Basic語(yǔ)言中Print是輸出數(shù)據(jù)的主要手段。在正式的Visual Basic程序中已經(jīng)很少見(jiàn)到用Print方法作為輸出數(shù)據(jù)的手段了。(具體內(nèi)容請(qǐng)參照本書(shū)),2.4.2 Move(移動(dòng))方法,該方法用于移動(dòng)窗體或控件。其通用格式如下

23、: 對(duì)象.Move left, top, width, height,2.4.3 Hide (隱藏窗體)方法,該方法用于隱藏窗體對(duì)象,但不能使其卸載。通用格式為: 窗體.Hide,2.4.4 Show (顯示窗體)方法,該方法用于顯示窗體對(duì)象。通用格式為: 窗體.Show style,ownerform,2.4.5 Unload (卸載)語(yǔ)句,Unload不是窗體的方法,是Visual Basic用來(lái)卸載窗體的語(yǔ)句。其通用格式為: Unload 窗體,2.5 窗體的事件,事件是窗體或控件能識(shí)別的動(dòng)作。Visual Basic 的每一個(gè)窗體和控件都有一個(gè)預(yù)定義的事件集。如果其中有一個(gè)事件發(fā)生,而

24、且,在關(guān)聯(lián)的事件過(guò)程中存在代碼,則 Visual Basic 將會(huì)執(zhí)行這些代碼。窗體有很多的事件,本節(jié)將介紹其中常用的幾個(gè)窗體事件。,2.5.1 Click(單擊)事件,該事件在窗體或控件被單擊時(shí)發(fā)生。因?yàn)槭录l(fā)生時(shí)如果在該事件中寫有程序代碼,這些程序代碼將會(huì)被執(zhí)行,所以Click事件也是如此。在此需要說(shuō)明的是,必須在窗體的空白區(qū)域或無(wú)效控件上單擊才可以觸發(fā)此事件。(具體內(nèi)容請(qǐng)參照本書(shū)),2.5.2 DblClick(雙擊)事件,該事件在窗體或控件被雙擊時(shí)發(fā)生。實(shí)際上用鼠標(biāo)雙擊窗體或控件時(shí)不僅會(huì)觸發(fā)DblClick事件,同時(shí)也會(huì)觸發(fā)Click事件。,2.5.3 Load(載入)事件,該事件在窗

25、體被加載時(shí)自動(dòng)發(fā)生,也可以說(shuō)是窗體在屏幕上顯示之前發(fā)生。Load事件是一個(gè)很重要的事件。對(duì)于各種初始化的操作通常情況下都要在該事件中進(jìn)行。(具體內(nèi)容請(qǐng)參照本書(shū)),2.5.4 Unload(卸載)事件,該事件在窗體被卸載時(shí)發(fā)生,也可以說(shuō)是在單擊窗口的關(guān)閉按鈕或使用卸載(Unload)語(yǔ)句時(shí)發(fā)生。Unload事件同樣是一個(gè)很重要的事件。窗口關(guān)閉時(shí)所有的善后工作都要在此事件中進(jìn)行。(具體內(nèi)容請(qǐng)參照本書(shū)),2.5.5 Resize (改變大?。┦录?該事件在窗體第一次顯示或者改變窗體大小時(shí)發(fā)生,主要作用是其中寫入改變窗體大小時(shí)移動(dòng)控件或調(diào)整控件大小的程序代碼。,2.5.6 Activate(活動(dòng))/D

26、eactivate(非活動(dòng))事件,當(dāng)窗口變?yōu)榛顒?dòng)窗口時(shí)觸發(fā)Activate事件。當(dāng)窗口變?yōu)榉腔顒?dòng)窗口,即其他窗口成為了活動(dòng)窗口時(shí)觸發(fā)Deactivate事件。 一個(gè)窗體可以通過(guò)被鼠標(biāo)單擊,或使用代碼中的 Show 或 SetFocus 方法之類的用戶操作而變成活動(dòng)窗體。,2.5.7 Paint (繪制)事件,在一個(gè)窗體被移動(dòng)或放大之后,或在一個(gè)覆蓋該窗體的窗體被移開(kāi)之后,該窗體部分或全部暴露時(shí),觸發(fā)此事件。Paint事件主要用于在窗體上繪圖。,2.6 多窗體應(yīng)用,在大型的應(yīng)用程序中通常會(huì)有多個(gè)窗體存在。本書(shū)在前面的2.2節(jié)中講述了怎樣在一個(gè)工程中添加窗體的方法。本節(jié)將講述通過(guò)程序代碼怎樣讓窗體

27、之間互相調(diào)用和一些與多窗體應(yīng)用相關(guān)的知識(shí)。,2.6.1 多窗體應(yīng)用例題,(具體內(nèi)容請(qǐng)參照本書(shū)),2.6.2 指定啟動(dòng)窗體,在默認(rèn)情況下,多窗體應(yīng)用程序中的第一個(gè)窗體被指定為啟動(dòng)窗體。應(yīng)用程序開(kāi)始運(yùn)行時(shí),此窗體就會(huì)被顯示出來(lái)。如果想在應(yīng)用程序啟動(dòng)時(shí)顯示別的窗體,那么就必須指定啟動(dòng)窗體,2.6.3 多窗體程序的存取,多窗體程序的存取和單窗體程序的存取基本上一樣。只是在存儲(chǔ)時(shí)要注意將多個(gè)窗體都要一個(gè)一個(gè)的保存好,最后還要記得保存工程。打開(kāi)時(shí)要注意打開(kāi)工程文件,Visual Basic會(huì)自動(dòng)將屬于這個(gè)工程文件的窗體全部打開(kāi),將其列在工程資源管理器中。下面以保存和打開(kāi)例題2.9,說(shuō)明多窗體程序的存取方法

28、。,2.6.4 標(biāo)準(zhǔn)模塊和Sub Main過(guò)程,在使用Visual Basic編程時(shí),編程人員通常會(huì)把一些公共變量的聲明,公共函數(shù)或者過(guò)程寫在標(biāo)準(zhǔn)模塊里。,2.6.5 MDI窗體,MDI窗體是一種有父子關(guān)系的窗口。在絕大多數(shù)應(yīng)用程序中,編程人員通常都要建立一個(gè)標(biāo)準(zhǔn)的“主”窗體,用戶在其中完成幾乎所有的工作。有時(shí),還要添加一些特殊用途的窗體用來(lái)處理程序的輸入和輸出。,第3章 Visual Basic 語(yǔ)言基礎(chǔ),Visual Basic是在BASIC、GW-BASIC、Quick BASIC等語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,它保留了原來(lái)BASIC版本中的數(shù)據(jù)類型和語(yǔ)法,對(duì)其中的某些語(yǔ)句和函數(shù)的功能作了修改

29、或擴(kuò)展,并根據(jù)語(yǔ)言的可視性要求增加了一些新的功能。本章將簡(jiǎn)單介紹Visual Basic程序設(shè)計(jì)的基本語(yǔ)法,為今后程序設(shè)計(jì)過(guò)程提供語(yǔ)言基礎(chǔ)。,3.1 程序設(shè)計(jì)的基本概念,Visual Basic語(yǔ)言編寫的程序是由各種不同的詞法記號(hào)構(gòu)成的,所謂詞法記號(hào),是指程序中具有獨(dú)立含義的不可進(jìn)一步分割的單位,具體地說(shuō),Visual Basic語(yǔ)言的詞法記號(hào)包括關(guān)鍵字、標(biāo)識(shí)符、變量等元素。,3.1.1 關(guān)鍵字,關(guān)鍵字是Visual Basic語(yǔ)言中預(yù)定義的符號(hào),它們有固定的含義,用戶定義的任何名字不得與它們沖突。,3.1.2 標(biāo)識(shí)符,標(biāo)識(shí)符是用戶自行定義的符號(hào),用來(lái)標(biāo)示常量、變量、數(shù)據(jù)類型、過(guò)程、函數(shù)、類等

30、。利用標(biāo)識(shí)符可以完成對(duì)變量、常量、數(shù)據(jù)類型、過(guò)程、函數(shù)、類等的引用。Visual Basic 6.0中標(biāo)識(shí)符的命名按如下原則:(1)第一個(gè)字必須是字母(沒(méi)有大小寫之分),后跟字母(AZ,az)、數(shù)字(09)或下劃線(_)。(2)可以長(zhǎng)達(dá)255個(gè)字。(3)變量?jī)?nèi)可以包含字母、數(shù)字或下劃線,但是不能包含小數(shù)點(diǎn)、%、&、!、#、$等代表變量類型的結(jié)尾符號(hào)。(4)不能使用保留字作變量名。,3.2 數(shù)據(jù)類型,Visual Basic語(yǔ)言中,為解決具體問(wèn)題,要采用各種類型的數(shù)據(jù),數(shù)據(jù)的類型不同,它所表達(dá)的數(shù)據(jù)范圍、精度和所占據(jù)的存儲(chǔ)空間均不相同。數(shù)據(jù)類型體現(xiàn)了數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)。Visual Basic提供了

31、系統(tǒng)定義的數(shù)據(jù)類型,并允許用戶根據(jù)需要定義自己的數(shù)據(jù)類型。,3.2.1 基本數(shù)據(jù)類型,Visual Basic 6.0提供的基本數(shù)據(jù)類型主要有字符串型數(shù)據(jù)和數(shù)值型數(shù)據(jù),此外還提供了字節(jié)、貨幣、對(duì)象、日期、布爾和變體數(shù)據(jù)類型。,3.2.2 自定義數(shù)據(jù)類型,有時(shí)會(huì)感到僅有以上基本數(shù)據(jù)類型是不夠的,希望將不同類型的數(shù)據(jù)組合成一個(gè)有機(jī)的整體,以便于引用。這樣一個(gè)整體是由若干不同類型的、互相有聯(lián)系的數(shù)據(jù)項(xiàng)組成的。它類似與C語(yǔ)言中的“結(jié)構(gòu)體”類型的數(shù)據(jù)。這種結(jié)構(gòu)稱為“紀(jì)錄”。Visual Basic提供了Type語(yǔ)句讓用戶自己定義這種數(shù)據(jù)類型。(具體內(nèi)容請(qǐng)參照本書(shū)),3.2.3 枚舉數(shù)據(jù)類型,前面介紹了V

32、isual Basic的基本數(shù)據(jù)類型,包括整型、實(shí)型(浮點(diǎn))、字符串型等。在程序設(shè)計(jì)中,有些數(shù)據(jù)無(wú)法直接用整型數(shù)或?qū)嵭蛿?shù)來(lái)表示,其取值為部分可列舉的數(shù)值或者字符串等。為此,Visual Basic提供了枚舉數(shù)據(jù)類型。當(dāng)一個(gè)變量只有幾種可能的值時(shí),可以定義為枚舉類型。所謂“枚舉”是指將變量的值一一列舉出來(lái),變量的值只限于列舉出來(lái)的值的范圍內(nèi)。,3.2.4 類型之間的轉(zhuǎn)換,Visual Basic提供了幾種數(shù)據(jù)類型的轉(zhuǎn)換函數(shù),可以實(shí)現(xiàn)數(shù)據(jù)類型之間的轉(zhuǎn)換,,3.3 常量和變量,前一節(jié)介紹了Visual Basic中使用的數(shù)據(jù)類型。在程序中,要用到各種數(shù)據(jù)類型的數(shù)據(jù),有些類型的數(shù)據(jù)在程序運(yùn)行期間,其值

33、是不發(fā)生改變的,即以常量形式出現(xiàn);而有些數(shù)據(jù)在程序運(yùn)行期間,其值是可變的,即以變量的形式出現(xiàn),它代表的則是內(nèi)存中指定的存儲(chǔ)單元。,3.3.1 常量,常量在程序運(yùn)行的過(guò)程中,其值不變。常量也有數(shù)據(jù)類型,Visual Basic中的常量分為兩種,一種是文字常量,一種是符號(hào)常量。,3.3.2 變量,在計(jì)算機(jī)中,變量名用標(biāo)識(shí)符表示,所以變量名遵循標(biāo)識(shí)符的命名規(guī)則。變量隨程序調(diào)入內(nèi)存,并被分配一定的存儲(chǔ)空間,通過(guò)名字引用變量。Visual Basic語(yǔ)言中,提供了兩種聲明變量方法。,3.3.3 作用域,一個(gè)變量被定義后,并不是在任何地方都能使用,每一個(gè)變量都有它的作用范圍。變量的有效范圍就是變量的作用域

34、。由于變量的有效范圍不同,所以也就有了變量的不同級(jí)別。(具體內(nèi)容請(qǐng)參照本書(shū)),3.3.4 Option Explicit 語(yǔ)句,使用Option Explicit語(yǔ)句對(duì)普通對(duì)象進(jìn)行的變量聲明,必須寫在模塊中所有過(guò)程之前。 如果模塊中使用了Option Explicit,則必須使用Dim、Private、Public或Static來(lái)顯式聲明所有的變量。這時(shí),如果使用了未聲明的變量名,在編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤。 如果所有使用Option Explicit語(yǔ)句,除非使用Deftype語(yǔ)句指定了缺省類型,否則所有未聲明的變量都是隱含為Variant類型的。,3.3.5 注釋語(yǔ)句,(具體內(nèi)容請(qǐng)參照本書(shū)),3.

35、4 運(yùn)算符與表達(dá)式,運(yùn)算符是代表數(shù)據(jù)運(yùn)算某種操作的符號(hào),被運(yùn)算的對(duì)象,即數(shù)據(jù),稱為操作數(shù),由運(yùn)算符和操作數(shù)組成的式子,稱為表達(dá)式。操作數(shù)可以是常量、變量或函數(shù)。 Visual Basic提供了豐富的運(yùn)算符,包括:賦值運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符和字符串運(yùn)算符等,由此可以構(gòu)成多種表達(dá)式。,3.4.1 賦值運(yùn)算符,賦值運(yùn)算符用來(lái)給變量、變長(zhǎng)數(shù)組或?qū)ο蟮膶傩再x值,即把運(yùn)算符右邊的內(nèi)容賦給運(yùn)算符左邊的變量或?qū)傩?。Visual Basic中的賦值運(yùn)算符是“=”,其一般格式如下: 變量名=表達(dá)式,3.4.2 算術(shù)運(yùn)算符,Visual Basic中提供了完備的算術(shù)運(yùn)算符,可以進(jìn)行復(fù)雜的數(shù)學(xué)運(yùn)算

36、。其中“-”運(yùn)算符在單目運(yùn)算(單個(gè)操作數(shù))中作取負(fù)號(hào)運(yùn)算,在雙目運(yùn)算(兩個(gè)操作數(shù))中作算術(shù)減運(yùn)算,其余都是雙目運(yùn)算符。,3.4.3 關(guān)系運(yùn)算符,關(guān)系運(yùn)算符也稱比較運(yùn)算符,是雙目運(yùn)算符,用來(lái)確定兩個(gè)操作數(shù)之間的關(guān)系。其優(yōu)先級(jí)低于數(shù)學(xué)運(yùn)算符,各個(gè)關(guān)系運(yùn)算符的優(yōu)先級(jí)是相同的,結(jié)合順序從左到右。若關(guān)系成立,則返回True,否則返回False。在Visual Basic中,關(guān)系運(yùn)算符常用于條件語(yǔ)句和循環(huán)語(yǔ)句的條件判斷部分。,3.4.4 邏輯運(yùn)算符,邏輯運(yùn)算符除Not是單目運(yùn)算符外,其余都是雙目運(yùn)算符,作用是進(jìn)行邏輯運(yùn)算,其結(jié)果為True或False。,3.4.5 字符串運(yùn)算符,算術(shù)運(yùn)算符“+”也可以用作

37、字符串運(yùn)算符,它可以把兩個(gè)字符串連接在一起,生成一個(gè)較長(zhǎng)的字符串。在Visual Basic中,還可以用“&”作為字符串的連接符。其作用與“+”相同。“+”既可以用作加法運(yùn)算符,也可用作字符串連接運(yùn)算符,而“&”專門用作字符串連接運(yùn)算符。在有些情況下,用“&”比用“+”更安全。,3.4.6 表達(dá)式,表達(dá)式由變量、常量、運(yùn)算符、函數(shù)和圓括號(hào)按一定的規(guī)則組成。表達(dá)式通過(guò)運(yùn)算后有一個(gè)結(jié)果,運(yùn)算結(jié)果的類型由數(shù)據(jù)和運(yùn)算符共同決定。,3.5 工程管理,(具體內(nèi)容請(qǐng)參照本書(shū)),3.5.1 建立、打開(kāi)及保存工程,1. 單個(gè)工程 2. 工程組(具體內(nèi)容請(qǐng)參照本書(shū)),3.5.2 在工程中添加、刪除及保存文件,1.

38、 添加文件 2. 刪除文件 3. 保存文件(具體內(nèi)容請(qǐng)參照本書(shū)),3.5.3 多個(gè)工程協(xié)同工作,在Visual Basic中可以有多個(gè)工程協(xié)同工作,此時(shí)將其稱為工程組。工程組中的工程可以是新建的工程,也可以將以前存在的工程添加進(jìn)來(lái)。,3.6 Visual Basic 應(yīng)用程序的結(jié)構(gòu)與工作方式,應(yīng)用程序是一個(gè)指令集,用來(lái)指揮計(jì)算機(jī)完成指定的操作。應(yīng)用程序結(jié)構(gòu)指的是組織指令的方法,即指令存放的位置和指令的執(zhí)行順序。對(duì)于只有一行代碼的程序來(lái)說(shuō),程序的組織結(jié)構(gòu)并不重要。應(yīng)用程序越復(fù)雜,對(duì)組織或結(jié)構(gòu)的要求也越高。除了控制應(yīng)用程序的執(zhí)行外,對(duì)于在應(yīng)用程序中查找特定的指令,結(jié)構(gòu)也有著重要的作用。Visual

39、 Basic應(yīng)用程序通常由3類模塊組成,即窗體模塊、標(biāo)準(zhǔn)模塊和類模塊。,3.6.1 窗體模塊,Visual Basic應(yīng)用程序是基于對(duì)象的,應(yīng)用程序的代碼結(jié)構(gòu)就是該程序在屏幕上物理表示的模型。根據(jù)定義,對(duì)象由數(shù)據(jù)和代碼組成。在屏幕上看到的窗體是由其屬性規(guī)定的,這些屬性定義了窗體的外觀和內(nèi)在特性。在Visual Basic中,一個(gè)應(yīng)用程序包含一個(gè)或多個(gè)窗體模塊,每個(gè)窗體模塊分為兩部分,一部分是作為用戶界面的窗體,另一部分是該窗體相關(guān)聯(lián)的代碼。每個(gè)窗體模塊都包含事件過(guò)程,即代碼部分,這些代碼是為響應(yīng)特定事件而執(zhí)行的指令。在窗體上可以有各種控件,這些控件都有一個(gè)相對(duì)應(yīng)的事件過(guò)程集。除事件過(guò)程外,窗體

40、模塊中還可以含有通用過(guò)程,它可以被窗體模塊中的任何事件過(guò)程調(diào)用。,3.6.2 標(biāo)準(zhǔn)模塊,標(biāo)準(zhǔn)模塊完全由代碼組成,不含有窗體,所以這些代碼不與具體的窗體或控件相關(guān)聯(lián)。通常寫入標(biāo)準(zhǔn)模塊中的代碼有: 聲明全局變量。在標(biāo)準(zhǔn)模塊中聲明的全局變量可以被工程中的任何模塊引用。 定義全局函數(shù)過(guò)程或者全局子程序過(guò)程。 編寫Sub Main過(guò)程。,3.6.3 類模塊,類是具有多態(tài)性的用戶自定義類型。封裝功能將代碼和數(shù)據(jù)組織在同一個(gè)類模塊中,使得對(duì)象能保護(hù)和驗(yàn)證其中的數(shù)據(jù)。借助創(chuàng)建對(duì)象的類能將數(shù)據(jù)和過(guò)程組織成一個(gè)整體。在Visual Basic中創(chuàng)建自已的類是通過(guò)在工程中添加類模塊,然后設(shè)計(jì)類模塊的相關(guān)代碼實(shí)現(xiàn)的。

41、 前面所述的標(biāo)準(zhǔn)模塊只包含代碼,而類模塊既包含代碼又包含數(shù)據(jù)。每個(gè)類模塊定義了一個(gè)類,可以在窗體模塊中定義類的對(duì)象,調(diào)用類模塊中的過(guò)程。建立類模塊的方式是在工程資源管理器中單擊右鍵,從彈出式快捷菜單內(nèi)選擇“添加”|“添加類模塊”菜單項(xiàng)即可。,3.6.4 事件驅(qū)動(dòng),事件是窗體或控件識(shí)別的行為和動(dòng)作。在響應(yīng)事件時(shí),事件驅(qū)動(dòng)應(yīng)用程序會(huì)執(zhí)行Basic代碼。Visual Basic的每一個(gè)窗體或控件都有一個(gè)預(yù)定義的事件集。如果其中有一個(gè)事件發(fā)生,而且在關(guān)聯(lián)的事件過(guò)程中存在代碼,則Visual Basic將調(diào)用該代碼。,第4章 控 件,從前幾章的學(xué)習(xí)中,對(duì)于控件應(yīng)該有了基本的了解??丶鋵?shí)就是構(gòu)成應(yīng)用程序

42、的最基本的組成部分,學(xué)習(xí)Visual Basic語(yǔ)言,其實(shí)大部分都是在學(xué)習(xí)各類控件的用法。本章將系統(tǒng)深入的介紹部分常用控件的使用方法。,4.1 控件概述,控件是Visual Basic應(yīng)用程序的基本組成部分,有了控件才可以方便的搭建程序界面,方便的開(kāi)發(fā)應(yīng)用程序。通過(guò)改變控件的屬性和處理控件的事件,在Visual Basic中很快就能夠編寫出功能強(qiáng)大的應(yīng)用程序。 Visual Basic的控件分為兩大類,分別是標(biāo)準(zhǔn)控件和ActiveX控件。,4.2 控件的相關(guān)操作,下面介紹有關(guān)控件的操作方法,例如向窗體添加控件、調(diào)整畫(huà)好的控件的尺寸、移動(dòng)控件到合適的位置、復(fù)制與刪除控件、用鼠標(biāo)選擇控件、使用工具

43、調(diào)整多個(gè)控件的大小位置等。,4.2.1 向窗體上添加控件,向窗體上添加控件的方法與前面章節(jié)中講到的將按鈕或者將文本框添加到窗體上的方法一致。主要有兩種: 在工具箱中點(diǎn)擊控件,將鼠標(biāo)放到窗體的適當(dāng)位置后,按下鼠標(biāo)左鍵,不松開(kāi),然后拖拽,直到控件大小合適的時(shí)候,再松開(kāi)左鍵。 雙擊工具箱中的控件,也能將控件添加到窗體上。,4.2.2 調(diào)整控件的大小,調(diào)整已經(jīng)畫(huà)到窗體上的控件大小的方法如下: (1)用鼠標(biāo)單擊該控件選中它。 (2)將鼠標(biāo)放到該控件周邊的八個(gè)小方塊中的任一方塊上。 (3)當(dāng)鼠標(biāo)變?yōu)殡p箭頭時(shí),按住左鍵不要松開(kāi),然后拖拽。 (4)感覺(jué)大小合適時(shí)松開(kāi)鼠標(biāo)左鍵。,4.2.3 移動(dòng)控件到合適的位置

44、,在設(shè)計(jì)界面時(shí),經(jīng)常遇到移動(dòng)控件到新的位置上的情況。移動(dòng)控件的方法如下: (1)將鼠標(biāo)箭頭放到該控件內(nèi)部。 (2)按住鼠標(biāo)左鍵不要松開(kāi),將其拖拽的合適的位置。 (3)松開(kāi)鼠標(biāo)左鍵。,4.2.4 復(fù)制與刪除控件,將窗體界面上的多余控件刪除掉的方法為:(具體內(nèi)容請(qǐng)參照本書(shū)),4.2.5 選擇控件,前面講述的操作都基于單個(gè)控件,有時(shí),可能需要對(duì)多個(gè)控件進(jìn)行操作,例如移動(dòng)多個(gè)控件、刪除多個(gè)控件、對(duì)多個(gè)控件設(shè)置相同的屬性等。為了對(duì)多個(gè)控件進(jìn)行操作,必須先選擇需要操作的控件,這通常有兩種方法。第一種方法:按住Shift鍵,不要松開(kāi),然后單擊每個(gè)要選擇的控件。被選擇的每個(gè)控件的周圍有8個(gè)方塊。第二種方法:把

45、鼠標(biāo)移到窗口中適當(dāng)?shù)奈恢茫](méi)有控件的地方),然后拖動(dòng)鼠標(biāo)畫(huà)出一個(gè)虛線矩形,在該矩形內(nèi)的控件(包括邊線所經(jīng)過(guò)的控件)即被選擇。,4.2.6 使用格式菜單調(diào)整控件布局,當(dāng)一個(gè)窗體中有多個(gè)控件時(shí),會(huì)需要調(diào)整控件的布局,例如對(duì)齊控件、統(tǒng)一控件的尺寸或者調(diào)整控件之間的距離等。用手動(dòng)調(diào)整不僅速度慢而且達(dá)到的效果也不會(huì)很好。Visual Basic為此給用戶提供了一些調(diào)整布局的功能。這些功能可以從“格式”菜單中找到,例如“對(duì)齊”菜單可以使選中的控件用各種對(duì)齊方式對(duì)齊,“統(tǒng)一尺寸”菜單可以統(tǒng)一選中控件的大小等。,4.3 輸入輸出函數(shù),輸入輸出對(duì)于每一個(gè)編程語(yǔ)言都是至關(guān)重要的。它們就像人的耳朵、眼睛和嘴巴,擔(dān)任

46、著與外界交流的重要任務(wù)。Visual Basic的輸入輸出有著十分豐富的內(nèi)容和形式,它提供了多種手段,例如前面用過(guò)的Print方法,文本框輸入輸出等等。本節(jié)為了方便后面章節(jié)中使用,在此將講授Visual Basic編程中經(jīng)常用到的InputBox 和MsgBox兩個(gè)輸入輸出函數(shù)。,4.3.1 InputBox 函數(shù),InputBox 函數(shù)用來(lái)彈出一個(gè)輸入對(duì)話框,通過(guò)該對(duì)話框用戶可以輸入數(shù)據(jù),并返回輸入的數(shù)據(jù)。InputBox函數(shù)的通用格式為: InputBox (prompt, title , default , xpos , ypos , helpfile, context),4.3.2 M

47、sgBox 函數(shù),在Windows操作中,經(jīng)常會(huì)遇到一種小對(duì)話框,例如,關(guān)閉程序時(shí)會(huì)跳出一個(gè)類似于“是否真的退出程序”提示對(duì)話框,并根據(jù)用戶的選擇確定其后的操作。MsgBox函數(shù)就是實(shí)現(xiàn)這一功能的函數(shù)。通常稱MsgBox函數(shù)調(diào)用的對(duì)話框?yàn)橄⒖颉T摵瘮?shù)的格式如下: MsgBox(prompt, buttons, title, helpfile, context),4.3.3 MsgBox 語(yǔ)句,MsgBox函數(shù)也可以寫成語(yǔ)句的形式,即: MsgBox prompt, buttons, title, helpfile, context,4.4 命令按鈕,命令按鈕是Visual Basic編程中使

48、用方法最簡(jiǎn)單,但卻是最常用的控件之一。它主要用來(lái)接受用戶的單擊響應(yīng)。下面將詳細(xì)講述命令按鈕最常用的屬性、方法和事件。,4.4.1 命令按鈕的常用屬性,(具體內(nèi)容請(qǐng)參照本書(shū)),4.4.2 命令按鈕的事件,命令按鈕有很多事件,但是最重要、最常用的就是以前所涉及的Click(單擊)事件。該事件在用戶使用鼠標(biāo)單擊按鈕時(shí)發(fā)生,當(dāng)然設(shè)置了Default和Cancel屬性的按鈕也可以使用回車和ESC鍵觸發(fā)此事件。(具體內(nèi)容請(qǐng)參照本書(shū)),4.4.3 應(yīng)用案例計(jì)算圓的面積,(具體內(nèi)容請(qǐng)參照本書(shū)),4.5 標(biāo)簽,標(biāo)簽主要用來(lái)顯示文本信息,通常的作用就是在窗口中顯示各種操作提示,以免用戶操作錯(cuò)誤。標(biāo)簽也有屬性、事件

49、和方法,但是其事件和方法一般很少用到。因此下面只介紹標(biāo)簽的常用屬性。(具體內(nèi)容請(qǐng)參照本書(shū)),4.6 文本框,文本框控件既可以用來(lái)輸入數(shù)據(jù),也可以用來(lái)輸出數(shù)據(jù)。其作用在Visual Basic程序設(shè)計(jì)中是不可估量的。本節(jié)將詳細(xì)講述文本框控件最重要的屬性、方法和事件。,4.6.1 文本框的常用屬性,(具體內(nèi)容請(qǐng)參照本書(shū)),4.6.2 文本框的事件和方法,文本框支持Click、DblClick等鼠標(biāo)事件,同時(shí)支持Change、GotFocus、LostFocus等事件。,4.6.3 應(yīng)用案例運(yùn)算器,(具體內(nèi)容請(qǐng)參照本書(shū)),4.7 單選按鈕與復(fù)選框,如圖4.7所示,喜歡在網(wǎng)上沖浪的讀者應(yīng)該很熟悉類似的

50、界面。其中,用來(lái)選擇性別的控件叫做單選按鈕,選擇愛(ài)好的控件叫做復(fù)選框。單選按鈕與復(fù)選框的主要區(qū)別是:?jiǎn)芜x按鈕只能在一組選項(xiàng)里選擇一個(gè),如性別;復(fù)選框可以在一組選項(xiàng)里選擇多個(gè),也可以一個(gè)都不選,如圖中的愛(ài)好。,4.7.1 單選按鈕,單選按鈕的常用屬性有Caption、Value、Alignment和Style,常用事件有Click事件。(具體內(nèi)容請(qǐng)參照本書(shū)),4.7.2 復(fù)選框,復(fù)選框的常用屬性和事件與單選按鈕的基本上一樣。只是其Value屬性與單選按鈕的Value屬性有較大的區(qū)別。復(fù)選框的Value屬性的取值范圍為0、1或2。其中: 0表示沒(méi)有選擇該控件。 1表示選中了該控件。 2表示該控件被

51、禁止使用(以灰色顯示)。(具體內(nèi)容請(qǐng)參照本書(shū)),4.7.3 框架,單獨(dú)使用框架控件沒(méi)有什么意義。其主要用途是為了將窗體上的控件分組,而且通常是為了把單選按鈕分成若干組。因?yàn)椴还艽绑w上有多少單選按鈕,用戶卻只能選擇其中的一個(gè)。但是在實(shí)際應(yīng)用中有時(shí)有多組選項(xiàng),希望在每組選項(xiàng)中各選一項(xiàng),這時(shí)用框架將這些單選按鈕分組就很有意義了。,4.7.4 應(yīng)用案例文本編輯器,(具體內(nèi)容請(qǐng)參照本書(shū)),4.8 列表框與組合框,利用列表框可以直觀地選擇所需要的項(xiàng)目,而組合框可以把一個(gè)文本框和列表框組合為一個(gè)整體控件。在編程時(shí)如果要給用戶一種直觀的選擇,可以使用列表框;當(dāng)窗體空間很緊張的時(shí)候,因?yàn)榱斜砜驎?huì)占據(jù)很大的空間,

52、所以這時(shí)采用組合框較好。,4.8.1 列表框介紹,列表框用來(lái)讓用戶從中選擇所需要的項(xiàng)目。如果有多種選項(xiàng)讓用戶選擇,使用列表框是個(gè)不錯(cuò)的方案。比如,Word2003的“主題”對(duì)話框內(nèi),列出所有可選主題的區(qū)域就是一個(gè)列表框控件,,4.8.2 列表框的常用屬性,(具體內(nèi)容請(qǐng)參照本書(shū)),4.8.3 列表框的方法和事件,1、AddItem(插入列表項(xiàng))方法 AddItem方法用來(lái)在列表框中插入列表項(xiàng)。雖然在設(shè)計(jì)階段可以通過(guò)屬性窗口里的List屬性向列表框內(nèi)添加列表項(xiàng),但是考慮到實(shí)際應(yīng)用通常會(huì)用程序向列表框內(nèi)添加列表項(xiàng)。AddItem方法的通用格式為: 列表框.AddItem 項(xiàng)目字符串,索引號(hào)(具體內(nèi)容

53、請(qǐng)參照本書(shū)),4.8.4 組合框介紹,組合框可以說(shuō)是列表框和一個(gè)文本框的組合。在Visual Basic的屬性窗口里用到Font屬性時(shí),其彈出的“字體”對(duì)話框內(nèi)選擇“字體”、“字形”、“大小”和“字符集”的控件都是組合框控件,組合框解決了列表框內(nèi)只能選擇給定的選項(xiàng)而不能輸入用戶選項(xiàng)的缺點(diǎn)。同時(shí)組合框可以結(jié)合下拉部分,這就意味著組合框可以比普通的列表框占用更小的窗體空間。,4.8.5 組合框的屬性、方法和事件,列表框的屬性、方法和事件基本上都可用于組合框,此外它還有一些自己的屬性和事件。,4.8.6 應(yīng)用案例計(jì)算機(jī)訂購(gòu)程序,【(具體內(nèi)容請(qǐng)參照本書(shū)),4.9 圖像框(Image),在程序界面中經(jīng)常

54、會(huì)放置一些圖形圖像來(lái)美化自己的界面。因此Visual Basic為用戶提供了兩個(gè)處理圖形圖像的控件,分別是圖片框(PictureBox)和圖像框(Image)。在工具箱中,圖片框的圖標(biāo)為,圖像框的圖標(biāo)為。 圖像框控件用來(lái)顯示圖形,它可以說(shuō)是圖片框控件的一個(gè)縮寫版,如果僅僅要顯示一個(gè)圖形可以選擇此控件,因?yàn)樵摽丶加玫膬?nèi)存很少。圖像框控件最重要的屬性有Picture和Stretch兩個(gè)屬性。,4.9.1 設(shè)置圖像框中的圖形,在圖像框里顯示圖形文件,通常會(huì)用到Picture和Stretch兩個(gè)屬性。Picture屬性用來(lái)給窗體、圖片框、圖像框添加圖形,這些圖形文件的類型可以是:位圖文件(.BMP或

55、.DIB),圖標(biāo)文件(.ICO或.CUR),圖元文件(.WMF或.EMF),JPEG文件(.JPG)和GIF文件(.GIF)。Picture屬性可以在設(shè)計(jì)階段通過(guò)屬性窗口設(shè)置,也可以在運(yùn)行階段通過(guò)LoadPicture()函數(shù)設(shè)置。,4.9.2 使用LoadPicture函數(shù)設(shè)置圖形,要在運(yùn)行階段給圖像框設(shè)置圖形,必須使用LoadPicture函數(shù),LoadPicture函數(shù)的格式為: 圖像框.Picture=LoadPicture(“文件名”),4.9.3 相對(duì)路徑App.Path,上一小節(jié)LoadPicture函數(shù)中帶有盤符的路徑在程序設(shè)計(jì)語(yǔ)言里被稱為絕對(duì)路徑,在編程時(shí)寫絕對(duì)路徑是一個(gè)很不

56、好的習(xí)慣,因?yàn)殚_(kāi)發(fā)出來(lái)的應(yīng)用程序會(huì)被安裝到千萬(wàn)臺(tái)不同的計(jì)算機(jī)上,這時(shí)誰(shuí)也保證不了這些計(jì)算機(jī)的C盤下會(huì)有程序使用到的那個(gè)圖形文件。因?yàn)樯鲜鲈?,通常在程序里都要使用相?duì)路徑。用法如下: Imag1.Picture = LoadPicture(App.Path & 111.jpg),4.9.4設(shè)置鼠標(biāo)指針形狀,在使用Windows應(yīng)用程序時(shí),經(jīng)常會(huì)看到不同的鼠標(biāo)指針形狀,例如有箭頭、十字、小工字、雙向箭頭等等。這些指針形狀提示了用戶下一步應(yīng)該做什么樣的操作。試想一下如果用戶想要通過(guò)拖拽窗口的邊界改變窗口的大小時(shí),鼠標(biāo)指針的形狀怎么也不變成雙箭頭時(shí)的情景,用戶肯定會(huì)認(rèn)為不能改變這個(gè)窗口的尺寸,從而放

57、棄這個(gè)操作。因此,在應(yīng)用程序中設(shè)置好指針形狀是一件很必要的事情。,4.9.5 應(yīng)用案例看圖學(xué)英語(yǔ),圖像框與其他大部分控件一樣也有單擊、雙擊等事件。下面的例題使用了其單擊事件。,4.10 圖片框(PictureBox),圖片框控件相對(duì)于圖像框控件來(lái)說(shuō)可以說(shuō)是重量級(jí)控件,因?yàn)槠湔加玫膬?nèi)存比較大。如果只是顯示圖片,可以采用前面介紹的圖像框,而如果要在其中使用畫(huà)圖語(yǔ)句繪制圖形,或者要在其中放置控件,則應(yīng)該使用圖片框。,4.10.1 圖片框介紹,圖片框不僅可以用來(lái)顯示圖形,也可以作為其他控件的容器,而且還能用Print在其上輸出文字、用Line、Circle等方法在其上繪制直線、圓等幾何形狀。 可以在圖

58、片框Picture1中輸出字符串“Free!”,(具體內(nèi)容請(qǐng)參照本書(shū)),4.10.2 應(yīng)用案例移動(dòng)小蜜蜂,(具體內(nèi)容請(qǐng)參照本書(shū)),4.11 計(jì)時(shí)器,Visual Basic為用戶提供了一個(gè)名叫計(jì)時(shí)器(Timer)的控件,該控件在運(yùn)行階段是不可見(jiàn)的,因此可以將其放到窗體的任何地方。計(jì)時(shí)器的屬性和事件很少,最重要的屬性有Interval和Enabled、最重要的事件也是唯一的事件有Timer。計(jì)時(shí)器控件在Enabled屬性為True的前提下,每隔Interval/1000秒就會(huì)自動(dòng)觸發(fā)Timer事件。,4.11.1 Interval 屬性,Interval(時(shí)間間隔)屬性以千分之一秒為單位,該屬性

59、用來(lái)控制計(jì)時(shí)器事件觸發(fā)的時(shí)間間隔。例如,如果將該屬性設(shè)置為1000,Visual Basic就會(huì)每隔1秒鐘觸發(fā)一次Timer事件,如果想讓Timer事件每隔3秒鐘就觸發(fā)一次,那應(yīng)該設(shè)置Interval為3000。當(dāng)然前面已經(jīng)提到過(guò)是在Enabled屬性為True的前提下上面的描述才有效。,4.11.2 Timer 事件,Timer 事件是計(jì)時(shí)器控件的唯一事件。當(dāng)Enabled屬性為True的前提下,它在每隔Inerval/1000秒就會(huì)自動(dòng)發(fā)生,根據(jù)此特性編程人員經(jīng)常使用計(jì)時(shí)器控件計(jì)時(shí)或?qū)崿F(xiàn)動(dòng)畫(huà)效果。(具體內(nèi)容請(qǐng)參照本書(shū)),4.11.3 應(yīng)用案例實(shí)現(xiàn)彈球動(dòng)畫(huà),上一節(jié)的應(yīng)用案例“移動(dòng)小蜜蜂”實(shí)現(xiàn)

60、了通過(guò)單擊按鈕來(lái)移動(dòng)圖形的效果,這一節(jié)將帶領(lǐng)讀者使用圖片框、圖像框和計(jì)時(shí)器完成圖形自動(dòng)移動(dòng)的功能。(具體內(nèi)容請(qǐng)參照本書(shū)),4.12 滾動(dòng)條,在Windows中,會(huì)經(jīng)常遇到滾動(dòng)條,有垂直的、有水平的,都附在窗口、組合框、列表框的上面,用來(lái)拖動(dòng)觀察窗口或框中未能顯示出來(lái)的部分,這種滾動(dòng)條是系統(tǒng)自動(dòng)添加上的,不需要用戶自己設(shè)計(jì)。而下面要介紹的不是這種滾動(dòng)條。(具體內(nèi)容請(qǐng)參照本書(shū)),4.12.1 滾動(dòng)條的屬性,通常,垂直滾動(dòng)條的值由上往下遞增,最上端代表最小值(Min),最下端代表最大值(Max)。水平滾動(dòng)條的值從左向右遞增,最左端代表最小值,最右端代表最大值。滾動(dòng)條的值均以整數(shù)表示,其取值范圍在-3

溫馨提示

  • 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)論