零基礎(chǔ)學(xué)visual basic.ppt_第1頁
零基礎(chǔ)學(xué)visual basic.ppt_第2頁
零基礎(chǔ)學(xué)visual basic.ppt_第3頁
零基礎(chǔ)學(xué)visual basic.ppt_第4頁
零基礎(chǔ)學(xué)visual basic.ppt_第5頁
已閱讀5頁,還剩488頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 掌握Visual Basic 的開發(fā)環(huán)境,在使用Visual Basic編寫程序之前,應(yīng)當(dāng)熟悉Visual Basic的開發(fā)環(huán)境,只有熟悉了開發(fā)環(huán)境,才能如魚得水般地編寫應(yīng)用程序。此外,能熟練地使用幫助系統(tǒng)對編程人員來說也是相當(dāng)重要的一種技能。本章將講述Visual Basic的發(fā)展史、安裝啟動的方法、集成開發(fā)環(huán)境的設(shè)置、幫助系統(tǒng)的使用等知識。,1.1Visual Basic概述,Visual Basic是在BASIC語言的基礎(chǔ)上發(fā)展起來的,因此它有BASIC語言的簡單而又不貧乏的優(yōu)點。對于初學(xué)者來說,將Visual Basic當(dāng)作自己的第一門編程語言學(xué)習(xí)是一件非常好的想法。因為Vis

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

3、拾,被世界各地的許多程序員所熱愛。微軟在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 的特點,Visual Basic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計語言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。它簡單易學(xué)、效率高,而且功能強大。,1.1.3 Visual Basic 的版本,Visual Basic6.0包括3種版本,分別為學(xué)習(xí)版、專業(yè)版和企業(yè)版。3種版本適合于不同層次的用

4、戶。(具體內(nèi)容請參照本書),1.2Visual Basic 的安裝與啟動,了解了Visual Basic的歷史、特點和版本后,下面介紹其安裝方法和啟動方法。本書采用的環(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)下運行,包括Windows95、Windows98、Windows NT、Windows2000、Windows XP、Windows Vista等,為了敘述方便,在本書中一律稱作Windows。本書中使用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

30、。利用標(biāo)識符可以完成對變量、常量、數(shù)據(jù)類型、過程、函數(shù)、類等的引用。Visual Basic 6.0中標(biāo)識符的命名按如下原則:(1)第一個字必須是字母(沒有大小寫之分),后跟字母(AZ,az)、數(shù)字(09)或下劃線(_)。(2)可以長達255個字。(3)變量內(nèi)可以包含字母、數(shù)字或下劃線,但是不能包含小數(shù)點、%、&、!、#、$等代表變量類型的結(jié)尾符號。(4)不能使用保留字作變量名。,3.2 數(shù)據(jù)類型,Visual Basic語言中,為解決具體問題,要采用各種類型的數(shù)據(jù),數(shù)據(jù)的類型不同,它所表達的數(shù)據(jù)范圍、精度和所占據(jù)的存儲空間均不相同。數(shù)據(jù)類型體現(xiàn)了數(shù)據(jù)結(jié)構(gòu)的特點。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é)、貨幣、對象、日期、布爾和變體數(shù)據(jù)類型。,3.2.2 自定義數(shù)據(jù)類型,有時會感到僅有以上基本數(shù)據(jù)類型是不夠的,希望將不同類型的數(shù)據(jù)組合成一個有機的整體,以便于引用。這樣一個整體是由若干不同類型的、互相有聯(lián)系的數(shù)據(jù)項組成的。它類似與C語言中的“結(jié)構(gòu)體”類型的數(shù)據(jù)。這種結(jié)構(gòu)稱為“紀(jì)錄”。Visual Basic提供了Type語句讓用戶自己定義這種數(shù)據(jù)類型。(具體內(nèi)容請參照本書),3.2.3 枚舉數(shù)據(jù)類型,前面介紹了V

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

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

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

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

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

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

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

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

40、模塊中還可以含有通用過程,它可以被窗體模塊中的任何事件過程調(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ù)過程或者全局子程序過程。 編寫Sub Main過程。,3.6.3 類模塊,類是具有多態(tài)性的用戶自定義類型。封裝功能將代碼和數(shù)據(jù)組織在同一個類模塊中,使得對象能保護和驗證其中的數(shù)據(jù)。借助創(chuàng)建對象的類能將數(shù)據(jù)和過程組織成一個整體。在Visual Basic中創(chuàng)建自已的類是通過在工程中添加類模塊,然后設(shè)計類模塊的相關(guān)代碼實現(xiàn)的。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論