- Visual Basic從入門到精通(第2版)
- 龍馬高新教育策劃 國家863中部軟件孵化器編著
- 107字
- 2019-01-02 05:00:36
第2篇 核心技術(shù)
本篇介紹可視化編程,窗體和系統(tǒng)對象,標(biāo)準(zhǔn)模塊和類模塊,標(biāo)準(zhǔn)控件,ActiveX控件、工具欄和狀態(tài)欄,鼠標(biāo)、鍵盤事件,菜單和對話框設(shè)計(jì)以及程序調(diào)試與錯誤處理等內(nèi)容。通過本篇的學(xué)習(xí),讀者能輕松掌握Visual Basic編程的核心技術(shù)。
第6章 應(yīng)用程序的精髓—可視化編程
本章視頻教學(xué)錄像:30分鐘
面向?qū)ο蠹夹g(shù)是計(jì)算機(jī)軟件工程中的區(qū)別與面向過程技術(shù)一種程序設(shè)計(jì)方法。在軟件工程中,面向?qū)ο笫且环N新式的計(jì)算機(jī)程序設(shè)計(jì)架構(gòu),其原則是計(jì)算機(jī)程序由對象組成,其技術(shù)有其自身的評價(jià)參數(shù)和特點(diǎn),它的設(shè)計(jì)思想更符合人們對現(xiàn)實(shí)世界的認(rèn)識方式。本章將介紹對象和類的基本概念和如何使用對象。
本章要點(diǎn)(已掌握的在方框中打鉤)
□ 掌握對象和類的含義
□ 熟悉簡單的對象的建立與編輯
□ 掌握對象屬性及其設(shè)置的方法
□ 掌握對象的方法及其調(diào)用過程
□ 熟悉事件的調(diào)用過程
6.1 對象概念
本節(jié)視頻教學(xué)錄像:15分鐘
對象和類是面向?qū)ο笾械幕窘M成部分,對象是現(xiàn)實(shí)世界中具體的事物,而類是將一類事物進(jìn)行抽象而得到的。對象是代碼和數(shù)據(jù)的組合,可以作為一個單位來處理。對象可以是應(yīng)用程序的一部分,比如可以是控件或窗體。整個應(yīng)用程序也是一個對象。
VB中的每個對象都是用類定義的。用餅干模子和餅干之間的關(guān)系做比較,就會明白對象和它的類之間的關(guān)系。餅干模子是類。它確定了每塊餅干的特征,比如大小和形狀。用類創(chuàng)建對象,對象就是餅干。類是面向?qū)ο蟪绦蛟O(shè)計(jì)的核心技術(shù),可以理解成一種定義了對象行為和外觀的模板;把對象看作是類的原原本本的復(fù)制品。
6.1.1 對象和類
究竟什么是對象和類呢?首先我們通過一個例子來認(rèn)識一下。
比如“樹木”是一個抽象的名稱,類似一個類的概念。而梧桐樹、楊樹、蘋果樹等就是“樹木”類的具體對象。這些種類的樹木因?yàn)橥獠坎町愃苑Q為不同的對象,但是內(nèi)部機(jī)理具備樹木的普遍特性,所以被稱為一類被稱為“樹木”物體。
對象的概念是面向?qū)ο缶幊碳夹g(shù)的核心。所以從面向?qū)ο蟮挠^點(diǎn)看,所有的面向?qū)ο蟮膽?yīng)用程序都是有對象組合而成的。而類(class)是同類對象的屬性和行為特征的抽象描述。
在現(xiàn)實(shí)生活中,對象指的是具體的事物,如天上的衛(wèi)星、地上的樹木、海里的輪船等,每個客體都具有一些屬性和行為,例如學(xué)生有學(xué)號、姓名、性別等屬性,有上課、考試、做實(shí)驗(yàn)等行為。因此,每個個體都可以用屬性和行為來描述。將對象的內(nèi)部狀態(tài)稱為屬性,將其行為稱為方法和事件。對象之間的聯(lián)系通過消息來傳遞,消息機(jī)制是對象間相互聯(lián)系和相互作用的方式。
在Visual Basic 6.0中,系統(tǒng)為每一類對象都規(guī)定了若干屬性。設(shè)計(jì)中可以改變具體對象的屬性值。窗體的任何一個對象都有屬性、事件和方法3個要素,它們各自從不同的角度表達(dá)了對象的構(gòu)成,通過三者的有機(jī)結(jié)合,便構(gòu)成Visual Basic應(yīng)用程序的基本元素。也可以說,一個完整的Visual Basic應(yīng)用程序就是若干個對象集合而成的,而每個對象又是通過屬性、事件及方法構(gòu)成的。
提示
類和對象是面向?qū)ο蟪绦蛟O(shè)計(jì)的語言基礎(chǔ)。類是從相同類型的對象中抽象出來的一種數(shù)據(jù)類型也可以說是所有具有相同數(shù)據(jù)結(jié)構(gòu)、相同操作的對象的抽象。類的構(gòu)成不僅包含描述對象屬性的數(shù)據(jù),還有對這些數(shù)據(jù)進(jìn)行操作的事件代碼,即對象的行為(或操作)。
6.1.2 VB中對象的建立和編輯
在“工程設(shè)計(jì)”窗口,打開“代碼”窗口有以下方法。
⑴ 依次選擇“視圖”→“代碼窗口”菜單選項(xiàng),打開“代碼窗口”。
⑵ 選中某一對象,右擊鼠標(biāo),打開快捷菜單,選擇“代碼窗口”菜單選項(xiàng),打開“代碼”窗口。在“代碼”窗口,首先通過“對象”組合框提供的參數(shù)選擇對象,然后再通過“事件”組合框提供的參數(shù)選擇事件,這時系統(tǒng)自動給出事件過程開頭和結(jié)束語句。
例如:
01 Private Sub Cmdl_Click() 02 End Sub
接下來便可以在上面開頭和結(jié)束語句之間輸入過程代碼。在Visual Basic系統(tǒng)中,過程代碼是針對具體對象事件編寫的,為了確切得知名某個對象的“操作”,必須在方法和屬性名前加上對象名,中間用小數(shù)點(diǎn)(.)分隔。
例如:
01 Private Sub CmdHello_Click() 02 Lbldisply.Caption="您好!" "&txtName.Text" 03 End Sub

6.2 對象的屬性、方法和事件
本節(jié)視頻教學(xué)錄像:13分鐘
在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對象具有屬性、方法和事件。屬性用來描述對象的特征,方法告訴我們對象對象應(yīng)做的事情,而事件是對象所產(chǎn)生的事情,事件發(fā)生時可以編寫代碼進(jìn)行處理。在Visual Basic 6.0中,每一個窗體和控件都具有自己的屬性、方法和事件的對象。可以把屬性看作一個對象的性質(zhì),把方法看作對象的動作,把事件看作對象的響應(yīng)。在程序設(shè)計(jì)中,基本的設(shè)計(jì)機(jī)制是,改變對象的屬性、使用對象的方法、為對象事件編寫事件過程。程序設(shè)計(jì)時要做的工作就是決定應(yīng)更改哪些屬性、調(diào)用哪些方法、對哪些事件作出響應(yīng),從而得到希望的行為。
6.2.1 對象的屬性及設(shè)置
在Visual Basic系統(tǒng)中,各種對象擁有幾十個屬性。對象的屬性可以在設(shè)計(jì)對象時通過屬性窗口設(shè)置,也可以在程序運(yùn)行時通過事件代碼來進(jìn)行設(shè)置。
1. 利用“屬性”窗口設(shè)置對象屬性
在“工程設(shè)計(jì)”窗口,有三種打開“屬性”窗口的方法。
⑴ 選擇窗口上的“視圖”→“屬性窗口”菜單選項(xiàng),打開“屬性”窗口。
⑵ 選中設(shè)置屬性的“對象”,右擊鼠標(biāo),打開快捷菜單,選擇“屬性窗口”菜單選項(xiàng),打開“屬性”窗口。
⑶ 選中設(shè)置屬性的“對象”,單擊工具欄中的按鈕,打開“屬性”窗口。
在屬性窗口,可以直接為對象設(shè)置屬性,如圖所示。

也可以通過組合框提供的參數(shù)選擇對象屬性,如圖所示。

還可以通過對話窗口為對象設(shè)置屬性,如圖所示。

2. 利用屬性設(shè)置為對象設(shè)置屬性
屬性設(shè)置語句格式1:
[<父類名>].<對象名>.屬性名=<屬性值>
屬性設(shè)置語句格式2:
With <對象名> <屬性值表> End with
提示
在Visual Basic中,某些對象的若干屬性不能通過程序語句設(shè)置,只能在“屬性”窗口設(shè)置;還有些屬性是只讀屬性,只能繼承,不能改動;另外有些對象(尤其后面講到的ActiveX控件),個別的屬性窗口沒有出現(xiàn),必須在程序語句設(shè)置或在專門的“屬性”窗口設(shè)置。
如下是命令按鈕的屬性,除在“屬性窗口”設(shè)置屬性外,還可以用以下程序語句設(shè)置:
01 Private Sub Form-Load() 02 With Cmd1 03 caption="關(guān)閉" 04 Left=4680 05 Top=5280 06 Height=615 07 Width=1335 08 End With 09 End Sub
6.2.2 對象的方法及調(diào)用
對象的方法,是指控制對象動作行為的方式。方法不同于事件,方法是對象本身內(nèi)含有的函數(shù)和過程,是一個簡單、用戶不需要知道細(xì)節(jié)、用戶無法改變的一個動作。而事件是由用戶定義的動作,這個動作用戶需要了解細(xì)節(jié)而且是可以改變的,每一類對象都可能有一些自身特定的方法。在Visual Basic 6.0中,方法的調(diào)用形式是:
對象名.對象名
例如,Adodc1.Refresh,刷新的方法Refresh是數(shù)據(jù)連接對象Adodc的一個方法;Form1.Hide也表示Hide是窗體對象Form的一個方法。
對象的方法是對象內(nèi)部已經(jīng)確定的。
6.2.3 對象的事件及事件過程
事件,指的是發(fā)生在對象上的動作。事件的發(fā)生并非隨意的,某些事件僅發(fā)生在某個時間或某些對象上。在Visual Basic系統(tǒng)中,一個對象可以識別和響應(yīng)一個或者多個事件,這些事件的代碼是通過“事件過程”定義的。
在Visual Basic 6.0中,事件的定義方式為:
Private Sub對象名-事件名稱 (事件內(nèi)容) End Sub
例如,當(dāng)用戶單擊Command1按鈕時,顯示文字信息“hello Visual Basic”,如下圖所示。


在設(shè)計(jì)界面上添加一個command Button,雙擊Command1,進(jìn)入代碼編輯區(qū),輸入以下代碼。
01 Private Sub Command1_Click() 02 Form1.Caption="hello Visual Basic"'設(shè)置對象的標(biāo)題為"hello Visual Basic" 03 End Sub
6.3 高手點(diǎn)撥
本節(jié)視頻教學(xué)錄像:2分鐘
1. “對象名稱”指的是對象(名稱)屬性定義的標(biāo)識符,這一屬性必須在“屬性”窗口進(jìn)行定義。
2. “事件名稱”是由Visual Basic系統(tǒng)定義好的某一對象能夠識別和響應(yīng)的事件。
3. “程序代碼”是Visual Basic提供的操作語句及特定的方法。
在Visual Basic系統(tǒng)中,對象可以響應(yīng)的事件有很多,在多數(shù)情況下,事件是通過用戶的操作行為引發(fā)的(如單擊鼠標(biāo)、移動鼠標(biāo)、按鍵等)。當(dāng)事件發(fā)生時,將執(zhí)行包含在事件過程中的全部代碼。
事件有的適用于專門控件,有的適用于多種控件,下表列出Visual Basic系統(tǒng)中的核心事件。

6.4 實(shí)戰(zhàn)練習(xí)
一、思考題
試總結(jié)對象的屬性、方法、事件的關(guān)系。
二、操作題
設(shè)計(jì)一個窗體,當(dāng)單擊“顯示”按鈕時,在文本框內(nèi)顯示“Hello Visual Basic”;當(dāng)單擊“清除”按鈕時,清除文本框內(nèi)的內(nèi)容;當(dāng)單擊“退出”按鈕時,結(jié)束程序運(yùn)行。
- MATLAB與C/C++混合編程
- 網(wǎng)絡(luò)空間測繪技術(shù)與實(shí)踐:讓互聯(lián)網(wǎng)情報(bào)服務(wù)于網(wǎng)絡(luò)安全
- SQL Server應(yīng)用與開發(fā)范例寶典
- 開發(fā)者關(guān)系:方法與實(shí)踐
- 敏捷軟件開發(fā):用戶故事實(shí)戰(zhàn)
- 區(qū)塊鏈:技術(shù)原理與應(yīng)用實(shí)踐
- 搜索架構(gòu)之道:App中的搜索系統(tǒng)設(shè)計(jì)與優(yōu)化實(shí)踐
- 全棧Monorepo開發(fā)實(shí)戰(zhàn)(Vue 3+Fastify+Deno+pnpm)
- 現(xiàn)代API:通往架構(gòu)師之門
- Spring in Action(第二版)中文版
- 軟件開發(fā)的201個原則
- 軟件項(xiàng)目管理案例教程(第5版)
- Google Android開發(fā)入門與實(shí)戰(zhàn)
- 移山之道:VSTS軟件開發(fā)指南
- 微信公眾平臺開發(fā)實(shí)例教程