VB的對象與課件_第1頁
VB的對象與課件_第2頁
VB的對象與課件_第3頁
VB的對象與課件_第4頁
VB的對象與課件_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章VB的對象與編程特點

2.1面向?qū)ο笞兂傻幕靖拍?.2基本屬性、事件和方法2.3VB程序的運行過程2.4簡單程序開發(fā)實例第二章VB的對象與編程特點2.1面向?qū)ο笞兂傻淖鳛楣δ軓姶蟮腤indows環(huán)境下應(yīng)用程序開發(fā)工具,VB以其獨特的程序設(shè)計方式和簡單的程序設(shè)計過程而被眾多用戶所使用。本章主要講述VB中對象的特點、VB程序設(shè)計過程和常用屬性、事件和方法。第二章VB的對象與課件2.1面向?qū)ο缶幊痰幕靖拍?/p>

2.1面向?qū)ο缶幊痰幕靖拍?/p>

VB采用的是面向?qū)ο蠛桶词录?qū)動的機制。程序員只需要編寫某些對象的事件過程程序,例如單擊事件等,而不必考慮按精確次序執(zhí)行的每個步驟,編寫代碼相對較少,就可以快速創(chuàng)建強大的應(yīng)用程序。這種事件編程的機制就是通常所說的“可視化編程”方式。利用面向?qū)ο蟮母拍钸M行軟件開發(fā),符合我們的思維邏輯。

2.1.1VB的類與對象

類(Class)和對象(Object)是面向?qū)ο蟪绦蛟O(shè)計中重要的基本概念。類是對客觀實體的抽象化,是數(shù)據(jù)和處理這些數(shù)據(jù)過程的封裝,而對象是類的具體實例化。VB中的對象就是由類創(chuàng)建,對象則是類的具體實例。類就像模板,它定義了一組大體上相似的對象,確定由它生成對象所具有的公共特征和功能。例如:人類就是一個類,而張三同學(xué)就是這個類的一個具體實例,即對象。在VB環(huán)境下,常用的對象有工具箱中的控件、窗體、菜單、應(yīng)用程序的部件和數(shù)據(jù)庫,除此之外,VB還提供了系統(tǒng)對象,如打印機(Printer)等。在窗體上創(chuàng)建對象時,可以單擊工具箱上要創(chuàng)建的對象圖標(biāo),然后在窗體上合適位置畫出對象來。初步建立的對象只是一個“空對象”,其操作需要通過對該對象有關(guān)的屬性、事件和方法進行描述。2.1.1VB的類與對象

類(Class)和2.1.2屬性

屬性(Property)是指一個對象所具有的性質(zhì)和特征,是反映對象特征的參數(shù),這些性質(zhì)可能是外在的,也可能是內(nèi)在的。如:某個人姓名為張三,性別為男,身高為1.7米,性格外向,愛好籃球,這些都是這個人的屬性;其中,“姓名”、“性別”、“身高”是外在屬性,“性格”、“愛好”是內(nèi)在屬性。而“張三”、“男”、“1.7米”,“外向”,“籃球”就是相應(yīng)的屬性值。不同的對象有不同的屬性,不同的屬性又可以有不同的屬性值,改變屬性值就改變了對象的特征。在VB中,屬性值的改變可以通過屬性窗口和程序代碼兩種方法來實現(xiàn):2.1.2屬性

(1)先選定對象,然后在屬性窗口中找到相應(yīng)屬性直接修改。此方法的特點是簡單明了,每次選擇一個屬性時,其屬性窗口的下部就顯示該屬性的一個簡短說明;缺點是不能修改所有需要的屬性。(2)通過程序代碼修改屬性值,其語法格式為:對象名.屬性名=屬性值例如:設(shè)置標(biāo)簽Label1的標(biāo)題為“北京歡迎你”的語句為:Label1.Caption="北京歡迎你"需注意的是:并不是所有的屬性在運行時都可以修改的。對象的屬性可分為兩類:在程序運行時可以修改并可獲得值的屬性稱為讀寫屬性;在運行時只能夠讀取的屬性稱為只讀屬性。讀取屬性值可以通過程序代碼實現(xiàn),例如:strName=Label1.Caption表示將標(biāo)簽Label1的標(biāo)題內(nèi)容賦值給變量strName。(1)先選定對象,然后在屬性窗口中找到相應(yīng)屬性直接2.1.3方法

方法(Method)是對象的行為,即將一些通用的過程編寫好并封裝起來,作為方法供用戶直接調(diào)用。在VB中,方法實際上是指對象本身所包含的一些特殊函數(shù)或過程,利用對象內(nèi)部自帶的函數(shù)或過程,可以實現(xiàn)對象的一些特殊功能和動作。例如,窗體的Show方法可以用來顯示窗體,列表框的AddItem方法可以用來在列表框中添加數(shù)據(jù)項。2.1.3方法

VB的方法通過程序代碼調(diào)用,其語法格式為:[對象名稱.]方法名稱例如:在程序中調(diào)用List1列表框的AddItem方法,使List1中添加數(shù)據(jù)項“China”,其程序代碼為:List1.AddItem"China"如果調(diào)用方法時,省略了“對象名稱”,那么所調(diào)用的方法作為當(dāng)前對象的方法。通常當(dāng)前窗體作為當(dāng)前對象。第二章VB的對象與課件

例如:Print"China"運行時,在當(dāng)前窗體上顯示字符串“China”。VB中提供了大量的方法,有些基本方法適于多數(shù)對象,而有些方法只適用于少數(shù)對象。

2.1.4事件

事件(Event)是指對象能夠識別并做出反應(yīng)的外部刺激。例如單擊(Click)事件、雙擊(DblClick)事件、鼠標(biāo)移動(MouseMove)事件、裝載(Load)事件等。每一種對象能識別的事件是不同的。盡管每一種對象所支持的事件很多,但實際上,一個程序中往往只用到其中幾種,可根據(jù)實際需要選定。2.1.4事件

當(dāng)事件由用戶觸發(fā)(比如單擊)或由系統(tǒng)觸發(fā)(比如裝載)時,對象就會對該事件做出響應(yīng),響應(yīng)某個事件后執(zhí)行的程序代碼就是事件過程。事件過程的一般編寫格式如下:PrivateSub對象名_事件([參數(shù)列表])…程序代碼…EndSub第二章VB的對象與課件2.1.5控件

控件(Controls)是VB通過控件箱提供的與用戶交互的可視化部件,是構(gòu)成用戶界面的基本元素。VB中的控件通常分為三類:(1)標(biāo)準(zhǔn)控件(或稱內(nèi)部控件):在默認(rèn)狀態(tài)下工具箱中顯示的控件,這些控件被“封裝”在VB的.exe文件中,不可從工具箱中刪除,如表2.1所示。(2)ActiveX控件:為了方便用戶設(shè)計功能強大的復(fù)雜應(yīng)用程序,VB和第三開發(fā)商提供了大量的ActiveX控件。這類控件單獨保存在.ocx類型的文件中,例如在專業(yè)版和企業(yè)版中提供的公共對話框、動畫、MCI控件等。2.1.5控件

(3)可插入對象:用戶可將Excel工作表或PowerPoint幻燈片等作為一個對象添加到工具箱中,編程時可根據(jù)需要隨時創(chuàng)建可插入對象。利用控件創(chuàng)建對象是VB編程的重要工作之一,它可以使程序員免除大量重復(fù)性的工作,能夠以最快的速度和效率開發(fā)具有良好用戶界面的應(yīng)用程序。(3)可插入對象:用戶可將Excel工作表

表2.1標(biāo)準(zhǔn)控件簡介表2.1標(biāo)準(zhǔn)控件簡介第二章VB的對象與課件第二章VB的對象與課件第二章VB的對象與課件2.1.6窗體

窗體(Form)是一種對象,由屬性定義其數(shù)據(jù)、由方法定義其行為、由事件定義其交互。一個窗體實際上就是一個窗口,它是VB編程中最常見的對象,也是程序設(shè)計的基礎(chǔ)。各個控件對象必須建立在窗體上,一個窗體對應(yīng)一個窗體模塊。就如我們所看到Window環(huán)境下的應(yīng)用程序窗口一樣,VB中的窗體具有標(biāo)題欄和邊框。程序員還可以根據(jù)自身的需要在窗體上添加菜單欄、工具欄和狀態(tài)欄。2.1.6窗體

對于窗體的操作也和Window環(huán)境下的窗口操作一樣,在運行時,用鼠標(biāo)拖動標(biāo)題欄可以移動窗體;將鼠標(biāo)移動到窗體邊框,當(dāng)出現(xiàn)雙箭頭時拖動鼠標(biāo)可以改變窗體的大小。用戶也可以通過控制菜單對窗體的位置、大小進行控制。

2.2基本屬性、事件和方法

2.2基本屬性、事件和方法

窗體和控件是VB程序設(shè)計中的兩個重要概念,它是創(chuàng)建一個VB應(yīng)用程序界面的基本構(gòu)造模塊。作為對象他們擁有常用的基本屬性,同時,很多控件和對象擁有常用的基本事件和基本方法。本節(jié)介紹窗體或控件的基本屬性、事件和方法。窗體和控件是VB程序設(shè)計中的兩個重要概念,它

在VB中,常用的屬性如表2.2所示,這些屬性為大多數(shù)標(biāo)準(zhǔn)控件和窗體所共有。

表2.2控件或窗體的基本屬性2.2.1基本屬性

在VB中,常用的屬性如表2.2所示,這些屬性為大第二章VB的對象與課件(1)Name屬性Name屬性表示名稱屬性,即對象的標(biāo)識。VB中任何對象都具有Name屬性,是VB創(chuàng)建的對象名稱。在VB創(chuàng)建對象的過程中,系統(tǒng)根據(jù)對象的類別會自動給出默認(rèn)的名字。例如,VB程序創(chuàng)建第一個Text文本框的默認(rèn)名字為Text1。但是,用戶往往根據(jù)程序設(shè)計的規(guī)范習(xí)慣,重新對對象的Name屬性賦值。在程序中,Name屬性僅起到表示的作用而引用,不會顯示在窗體上。(2)Height、Width、Top和Left屬性Height、Width、Top和Left屬性,決定控件或?qū)ο笤诮缑嫔系奈恢煤痛笮?,其屬性值?yīng)用單位為Twip,單位換算如下:1Twip=1/20點=1/1440英寸=1/567cm。第二章VB的對象與課件(3)Caption屬性Caption表示標(biāo)題屬性,即對象的標(biāo)題。對于窗體,該屬性是顯示在標(biāo)題欄中的文本;對于控件,該屬性是顯示在控件中或是附在控件之后的文本。創(chuàng)建對象時,其缺省標(biāo)題與缺省的Name屬性值相同。例如,第一個窗體,其缺省的名稱和標(biāo)題均為Form1。(4)Enabled屬性Enabled屬性設(shè)置對象在程序運行時有效或無效,其屬性值分別為True(缺省值)和False。其中,True:允許用戶進行操作,并對操作做出響應(yīng)。False:對象呈灰色,禁止用戶進行操作。第二章VB的對象與課件(5)Visible屬性Visible屬性決定對象在程序運行時是否可見。同Enabled屬性一樣,Visible屬性的取值也只有兩種True(可見,缺省值)和False(不可見)。(6)AutoRedraw屬性該屬性決定窗體被隱藏或被另一窗口覆蓋之后是否重新顯示,是否重新還原該窗體被隱藏或覆蓋以前的畫面,即是否重畫。當(dāng)屬性值為True時,重新還原該窗體以前的畫面。當(dāng)屬性值為False時,則不重畫。(7)顏色屬性VB的窗體和許多控件都有或多或少的顏色屬性,常用的有:BackColor(對象的背景顏色)、ForeColor(在對象中顯示的圖形或文本的前景顏色)、BorderColor(對象的邊框顏色)、FillColor(填充形狀的顏色)。第二章VB的對象與課件

在VB的各種對象中,大部分窗體和控件都支持以下基本事件:(1)Click單擊事件:此事件是在一個對象上按下然后釋放某個鼠標(biāo)鍵時發(fā)生。如:單擊窗體、命令按鈕、單選按鈕、復(fù)選按鈕、列表框、組合框等控件時觸發(fā)。(2)DblClick雙擊事件:此事件是在一個對象上連續(xù)兩次按下和釋放鼠標(biāo)鍵時發(fā)生。(3)Load事件:窗體被裝入時觸發(fā)的事件。該事件通常用來在啟動應(yīng)用程序時對屬性和變量進行初始化。2.2.2基本事件

在VB的各種對象中,大部分窗體和控件都支持以下基本

(4)Unload事件:卸載窗體時觸發(fā)該事件。(5)Resize事件:無論是因為用戶交互,還是通過代碼調(diào)整窗體的大小,都會觸發(fā)一個Resize事件。(6)KeyPress事件:按鍵事件。(7)MouseDown/MouseMove/MouseUp:鼠標(biāo)按下/鼠標(biāo)移動/鼠標(biāo)松開事件。(8)Initalize事件:初始化事件,在Load事件后發(fā)生該事件。(9)Activate/Deactivate事件:激活和非激活事件。例如,當(dāng)A窗體變成活動窗體時,A窗體發(fā)生Activate事件;當(dāng)另一個窗體被激活時,A窗體發(fā)生Deactivate事件。

2.2.3基本方法

窗體常用的方法有:打印輸出Print、移動Move、清除Cls、顯示Show、隱藏Hide等方法。(1)Print方法格式:[對象.]Print[{Spc(n)|Tab(n)}][表達式列表][;|,]作用:在對象上輸出信息對象:窗體、圖片框或打印機(Printer),省略對象時在窗體上輸出2.2.3基本方法

窗體常用的方法有:打印輸出Print、說明:Spc(n)函數(shù):用于在輸出時插入n個空格,允許重復(fù)使用。Tab(n)函數(shù):用于在輸出表達式列表前向右移動n列,允許重復(fù)使用。;(分號):用于緊湊格式輸出。光標(biāo)定位在上一個顯示的字符后。,(逗號):用于分區(qū)格式輸出。光標(biāo)定位在下一個打印區(qū)的開始位置處。每個打印區(qū)占14列。無;(分號)與,(逗號):表示輸出后換行。開始打印的位置是由對象的CurrentX和CurrentX屬性決定,缺省為打印對象的左上角(0,0)。第二章VB的對象與課件【例2.1】Print方法的應(yīng)用:在窗體Form1的單擊事件中寫入如下代碼:PrivateSubForm_Click()a=10b=3.14Print"a=";aPrint"b=",bPrint"a=";a,"b=";bPrint'空一行Print"123456789012345678901234567890"Print"a=";a,Print"b=";bPrintTab(18);"a=";aPrintSpc(18);"b=";bEndSub運行程序【例2.1】Print方法的應(yīng)用:運行程序按F5運行程序,單擊窗體后,看到圖2.1所示的運行結(jié)果。圖2.1例2.1程序運行結(jié)果圖(2)Cls方法格式:[對象.]Cls第二章VB的對象與課件作用:清除運行時在窗體或圖片框中顯示的文本或圖形。注意:不清除在設(shè)計時的文本和圖形。清屏后當(dāng)前坐標(biāo)回到原點。(3)Move方法格式:[對象.]Move左邊距離[,上邊距離[,寬度[,高度]]]作用:移動窗體或控件,并可改變其大小。對象:可以是窗體及除時鐘、菜單外的所有控件。第二章VB的對象與課件說明:左邊距離,上邊距離,寬度,高度:數(shù)值表達式,以twip為單位。如果是窗體對象,則“左邊距”和“上邊距”是以屏幕左邊界和上邊界為準(zhǔn)。其它則是以窗體的左邊和上邊界為準(zhǔn)?!纠?.2】使用Move方法移動一個窗體。雙擊窗體,窗體移動并定位在屏幕的左上角,同時窗為了實現(xiàn)這一功能,可以在窗體Forml的“代碼”窗口中輸入下列代碼:第二章VB的對象與課件PrivateSubForm_DblClick()Form1.Move0,0,Form1.Width/2,Form1.Height/2EndSub體的長寬也縮小一倍。(4)Show(顯示)方法Show方法用于在屏幕上顯示一個窗體,調(diào)用Show方法與設(shè)置窗體Visible屬性為True具有相同的效果。其調(diào)用格式如下:窗體名.Show[vbModal|vbModeless]PrivateSubForm_DblClick()【例2.3】實現(xiàn)將指定的窗體在屏幕上進行顯示或隱藏的切換。為了實現(xiàn)這一功能,可以在窗體Forml的“代碼”窗口中輸入下列代碼:PrivateSubForm_Click() Form1.Hide‘隱藏窗體 MsgBox"單擊確定按鈕,使窗體重現(xiàn)屏幕" Form1.Show'重現(xiàn)窗體EndSub【例2.3】實現(xiàn)將指定的窗體在屏幕上進行顯示或隱藏的切換。2.3VB程序的執(zhí)行過程

2.3VB程序的執(zhí)行過程

一個VB應(yīng)用程序(工程)通常是由多種類型的文件構(gòu)成,其中最主要的就是窗體模塊和標(biāo)準(zhǔn)模塊。與該工程有關(guān)的全部文件和對象的清單,以及所設(shè)置的環(huán)境選項方面的信息都保存在工程文件中(擴展名.vbp)。

一個典型的VB程序的執(zhí)行主要包含以下步驟:(1)啟動應(yīng)用程序,裝載和顯示窗體;(2)窗體(或窗體上的控件)等待事件的發(fā)生,實質(zhì)是對象等待事件的發(fā)生;(3)事件發(fā)生時,對象執(zhí)行對應(yīng)的根據(jù)用戶編寫的程序(程序中包含對象對其方法的調(diào)用);(4)重復(fù)執(zhí)行步驟(2)和(3);(5)直到遇到“END”結(jié)束語句結(jié)束程序的運行或按“結(jié)束”按鈕強行停止程序的運行。第二章VB的對象與課件2.4簡單程序開發(fā)實例

2.4簡單程序開發(fā)實例

VB之所以得到迅速流行和廣泛適用,與其編程的特點密不可分。首先,VB具有可視化的特點,也就是說VB將傳統(tǒng)的GUI界面元素(如窗體、菜單、按鈕、文本框等)視作不同的屬性數(shù)據(jù)和操作程序封裝而成的對象,實現(xiàn)了“所見即所得”的操作效果,程序員只需簡單的控件選擇就完成了程序界面的設(shè)計工作;其次,VB面向?qū)ο蟮奶攸c,采用事件驅(qū)動的編程機制,用戶只需對每個對象需要響應(yīng)的事件分別編寫程序代碼,而不需要考慮整個程序運行過程的控制;再次,簡單易學(xué)的Basic語言和MicrosoftVisualBasic交互的集成開發(fā)環(huán)境,降低了程序可能的錯誤,提高了調(diào)試程序的效率。VB之所以得到迅速流行和廣泛適用,與基于以上的優(yōu)點,建立一個VB應(yīng)用程序,一般經(jīng)過以下步驟:(1)建立用戶界面的對象;(2)對象屬性的設(shè)置;(3)對象事件過程及編程;(4)程序運行和調(diào)試;(5)保存文件。下面通過一個簡單的實例,掌握VB程序設(shè)計的一般過程?;谝陨系膬?yōu)點,建立一個VB應(yīng)用程序,一般經(jīng)過以下步驟:【例2.4】幸運七游戲。程序運行時如圖2.2所示,當(dāng)用戶單擊開始按鈕時,就會在三個標(biāo)簽框中各隨機顯示一個0~9之間的數(shù)字,如果其中有一個或多個7時,則在窗體上出現(xiàn)“恭喜你,中獎了!”,如圖2.3所示;否則,出現(xiàn)“很抱歉,沒中獎!”,如圖2.4所示。用戶單擊結(jié)束按鈕,則程序結(jié)束。圖2.2例2.4程序運行結(jié)果圖1【例2.4】幸運七游戲。程序運行時如圖2.2所示,當(dāng)用戶單擊圖2.4例2.4程序運行結(jié)果圖3圖2.3例2.4程序運行結(jié)果圖2圖2.4例2.4程序運行結(jié)果圖3圖2.3例2.4程序運分析:第一步:新建一個工程文件(1)啟動VB后新建一個工程在桌面上依次選擇“開始”→“程序”→“MicroSoftVisualBasic6.0”程序組→“MicroSoftVisualBasic6.0”,啟動VB,屏幕上顯示“新建工程”對話框,如圖1.1所示。單擊“打開”按鈕。(2)重新建立一個工程從“文件”菜單中選擇“新建工程”命令或按Ctrl+N快捷鍵,系統(tǒng)將關(guān)閉當(dāng)前工程,提示用戶保存所有修改過的文件。屏幕顯示“新建工程”對話框,如圖2.5所示。單擊選定“標(biāo)準(zhǔn)EXE”,再單擊“確定”按鈕。VB將創(chuàng)建一個帶有單個新文件的新工程。第二章VB的對象與課件第二步:用戶界面設(shè)計。從圖2.2中可以直觀看出,該界面包括4個標(biāo)簽(Label)控件、2個命令按鈕(CommandButton)控件。又由于要在窗體上出現(xiàn)“恭喜你,中獎了!”或“很抱歉,沒中獎!”,則再添加1個標(biāo)簽(Label)控件。從工具箱中用鼠標(biāo)單擊工具,并拖放到窗體中相應(yīng)的位置,調(diào)整其大小,進行合理的布局。圖2.5“新建工程”對話框第二步:用戶界面設(shè)計。圖2.5“新建工程”對話框第三步:對象屬性的設(shè)置。表2.3窗體和各對象的相關(guān)屬性的設(shè)置第三步:對象屬性的設(shè)置。表2.3窗體和各對象的相關(guān)屬性的設(shè)第二章VB的對象與課件第四步:對象事件過程代碼的編寫。PrivateSubCommand1_Click()RandomizeLabel1.Caption=Int(Rnd*10) 'picknumbersLabel2.Caption=Int(Rnd*10)Label3.Caption=Int(Rnd*10)'ifanycaptionis7displaycoinstackandbeepIf(Label1.Caption=7)Or(Label2.Caption=7)Or(Label3.Caption=7)ThenLabel5.Caption="恭喜你,中獎了!"Label5.ForeColor=vbRedElseLabel5.Caption="很抱歉,沒中獎!"Label5.ForeColor=vbBlueEndIfEndSubPrivateSubCommand2_Click()EndEndSub第四步:對象事件過程代碼的編寫。第五步:調(diào)試與運行選擇“運行”|“啟動”或按F5鍵或“運行”按鈕,進入運行狀態(tài)。如果出現(xiàn)錯誤或者效果不理想,則需要單擊“結(jié)束”按鈕反復(fù)調(diào)試,直到得到正確結(jié)果。第六步:保存文件從“文件”菜單中選擇“保存工程”命令,系統(tǒng)將更新當(dāng)前工程的工程文件及其全部窗體、標(biāo)準(zhǔn)模塊和類模塊。在保存時,需保存應(yīng)用程序的相應(yīng)文件內(nèi)容,如:保存窗體文件(后綴名.frm)和工程文件(后綴名.vbp)。第五步:調(diào)試與運行本章總結(jié)

本章主要介紹了VB的基礎(chǔ)理論和基本應(yīng)用,主要包括VB中面向?qū)ο缶幊痰幕靖拍睢B程序設(shè)計過程和常用屬性、事件和方法。本章內(nèi)容是VB程序設(shè)計的最基本的知識。通過本章的學(xué)習(xí),讀者應(yīng)該能夠深入了解面向?qū)ο蟮木幊趟枷耄炀氄莆粘S玫膶傩?、方法、事件等基礎(chǔ)知識,為以后的學(xué)習(xí)打下基礎(chǔ)。本章總結(jié)

本章主要介紹了VB的基礎(chǔ)理論和基本第二章VB的對象與編程特點

2.1面向?qū)ο笞兂傻幕靖拍?.2基本屬性、事件和方法2.3VB程序的運行過程2.4簡單程序開發(fā)實例第二章VB的對象與編程特點2.1面向?qū)ο笞兂傻淖鳛楣δ軓姶蟮腤indows環(huán)境下應(yīng)用程序開發(fā)工具,VB以其獨特的程序設(shè)計方式和簡單的程序設(shè)計過程而被眾多用戶所使用。本章主要講述VB中對象的特點、VB程序設(shè)計過程和常用屬性、事件和方法。第二章VB的對象與課件2.1面向?qū)ο缶幊痰幕靖拍?/p>

2.1面向?qū)ο缶幊痰幕靖拍?/p>

VB采用的是面向?qū)ο蠛桶词录?qū)動的機制。程序員只需要編寫某些對象的事件過程程序,例如單擊事件等,而不必考慮按精確次序執(zhí)行的每個步驟,編寫代碼相對較少,就可以快速創(chuàng)建強大的應(yīng)用程序。這種事件編程的機制就是通常所說的“可視化編程”方式。利用面向?qū)ο蟮母拍钸M行軟件開發(fā),符合我們的思維邏輯。

2.1.1VB的類與對象

類(Class)和對象(Object)是面向?qū)ο蟪绦蛟O(shè)計中重要的基本概念。類是對客觀實體的抽象化,是數(shù)據(jù)和處理這些數(shù)據(jù)過程的封裝,而對象是類的具體實例化。VB中的對象就是由類創(chuàng)建,對象則是類的具體實例。類就像模板,它定義了一組大體上相似的對象,確定由它生成對象所具有的公共特征和功能。例如:人類就是一個類,而張三同學(xué)就是這個類的一個具體實例,即對象。在VB環(huán)境下,常用的對象有工具箱中的控件、窗體、菜單、應(yīng)用程序的部件和數(shù)據(jù)庫,除此之外,VB還提供了系統(tǒng)對象,如打印機(Printer)等。在窗體上創(chuàng)建對象時,可以單擊工具箱上要創(chuàng)建的對象圖標(biāo),然后在窗體上合適位置畫出對象來。初步建立的對象只是一個“空對象”,其操作需要通過對該對象有關(guān)的屬性、事件和方法進行描述。2.1.1VB的類與對象

類(Class)和2.1.2屬性

屬性(Property)是指一個對象所具有的性質(zhì)和特征,是反映對象特征的參數(shù),這些性質(zhì)可能是外在的,也可能是內(nèi)在的。如:某個人姓名為張三,性別為男,身高為1.7米,性格外向,愛好籃球,這些都是這個人的屬性;其中,“姓名”、“性別”、“身高”是外在屬性,“性格”、“愛好”是內(nèi)在屬性。而“張三”、“男”、“1.7米”,“外向”,“籃球”就是相應(yīng)的屬性值。不同的對象有不同的屬性,不同的屬性又可以有不同的屬性值,改變屬性值就改變了對象的特征。在VB中,屬性值的改變可以通過屬性窗口和程序代碼兩種方法來實現(xiàn):2.1.2屬性

(1)先選定對象,然后在屬性窗口中找到相應(yīng)屬性直接修改。此方法的特點是簡單明了,每次選擇一個屬性時,其屬性窗口的下部就顯示該屬性的一個簡短說明;缺點是不能修改所有需要的屬性。(2)通過程序代碼修改屬性值,其語法格式為:對象名.屬性名=屬性值例如:設(shè)置標(biāo)簽Label1的標(biāo)題為“北京歡迎你”的語句為:Label1.Caption="北京歡迎你"需注意的是:并不是所有的屬性在運行時都可以修改的。對象的屬性可分為兩類:在程序運行時可以修改并可獲得值的屬性稱為讀寫屬性;在運行時只能夠讀取的屬性稱為只讀屬性。讀取屬性值可以通過程序代碼實現(xiàn),例如:strName=Label1.Caption表示將標(biāo)簽Label1的標(biāo)題內(nèi)容賦值給變量strName。(1)先選定對象,然后在屬性窗口中找到相應(yīng)屬性直接2.1.3方法

方法(Method)是對象的行為,即將一些通用的過程編寫好并封裝起來,作為方法供用戶直接調(diào)用。在VB中,方法實際上是指對象本身所包含的一些特殊函數(shù)或過程,利用對象內(nèi)部自帶的函數(shù)或過程,可以實現(xiàn)對象的一些特殊功能和動作。例如,窗體的Show方法可以用來顯示窗體,列表框的AddItem方法可以用來在列表框中添加數(shù)據(jù)項。2.1.3方法

VB的方法通過程序代碼調(diào)用,其語法格式為:[對象名稱.]方法名稱例如:在程序中調(diào)用List1列表框的AddItem方法,使List1中添加數(shù)據(jù)項“China”,其程序代碼為:List1.AddItem"China"如果調(diào)用方法時,省略了“對象名稱”,那么所調(diào)用的方法作為當(dāng)前對象的方法。通常當(dāng)前窗體作為當(dāng)前對象。第二章VB的對象與課件

例如:Print"China"運行時,在當(dāng)前窗體上顯示字符串“China”。VB中提供了大量的方法,有些基本方法適于多數(shù)對象,而有些方法只適用于少數(shù)對象。

2.1.4事件

事件(Event)是指對象能夠識別并做出反應(yīng)的外部刺激。例如單擊(Click)事件、雙擊(DblClick)事件、鼠標(biāo)移動(MouseMove)事件、裝載(Load)事件等。每一種對象能識別的事件是不同的。盡管每一種對象所支持的事件很多,但實際上,一個程序中往往只用到其中幾種,可根據(jù)實際需要選定。2.1.4事件

當(dāng)事件由用戶觸發(fā)(比如單擊)或由系統(tǒng)觸發(fā)(比如裝載)時,對象就會對該事件做出響應(yīng),響應(yīng)某個事件后執(zhí)行的程序代碼就是事件過程。事件過程的一般編寫格式如下:PrivateSub對象名_事件([參數(shù)列表])…程序代碼…EndSub第二章VB的對象與課件2.1.5控件

控件(Controls)是VB通過控件箱提供的與用戶交互的可視化部件,是構(gòu)成用戶界面的基本元素。VB中的控件通常分為三類:(1)標(biāo)準(zhǔn)控件(或稱內(nèi)部控件):在默認(rèn)狀態(tài)下工具箱中顯示的控件,這些控件被“封裝”在VB的.exe文件中,不可從工具箱中刪除,如表2.1所示。(2)ActiveX控件:為了方便用戶設(shè)計功能強大的復(fù)雜應(yīng)用程序,VB和第三開發(fā)商提供了大量的ActiveX控件。這類控件單獨保存在.ocx類型的文件中,例如在專業(yè)版和企業(yè)版中提供的公共對話框、動畫、MCI控件等。2.1.5控件

(3)可插入對象:用戶可將Excel工作表或PowerPoint幻燈片等作為一個對象添加到工具箱中,編程時可根據(jù)需要隨時創(chuàng)建可插入對象。利用控件創(chuàng)建對象是VB編程的重要工作之一,它可以使程序員免除大量重復(fù)性的工作,能夠以最快的速度和效率開發(fā)具有良好用戶界面的應(yīng)用程序。(3)可插入對象:用戶可將Excel工作表

表2.1標(biāo)準(zhǔn)控件簡介表2.1標(biāo)準(zhǔn)控件簡介第二章VB的對象與課件第二章VB的對象與課件第二章VB的對象與課件2.1.6窗體

窗體(Form)是一種對象,由屬性定義其數(shù)據(jù)、由方法定義其行為、由事件定義其交互。一個窗體實際上就是一個窗口,它是VB編程中最常見的對象,也是程序設(shè)計的基礎(chǔ)。各個控件對象必須建立在窗體上,一個窗體對應(yīng)一個窗體模塊。就如我們所看到Window環(huán)境下的應(yīng)用程序窗口一樣,VB中的窗體具有標(biāo)題欄和邊框。程序員還可以根據(jù)自身的需要在窗體上添加菜單欄、工具欄和狀態(tài)欄。2.1.6窗體

對于窗體的操作也和Window環(huán)境下的窗口操作一樣,在運行時,用鼠標(biāo)拖動標(biāo)題欄可以移動窗體;將鼠標(biāo)移動到窗體邊框,當(dāng)出現(xiàn)雙箭頭時拖動鼠標(biāo)可以改變窗體的大小。用戶也可以通過控制菜單對窗體的位置、大小進行控制。

2.2基本屬性、事件和方法

2.2基本屬性、事件和方法

窗體和控件是VB程序設(shè)計中的兩個重要概念,它是創(chuàng)建一個VB應(yīng)用程序界面的基本構(gòu)造模塊。作為對象他們擁有常用的基本屬性,同時,很多控件和對象擁有常用的基本事件和基本方法。本節(jié)介紹窗體或控件的基本屬性、事件和方法。窗體和控件是VB程序設(shè)計中的兩個重要概念,它

在VB中,常用的屬性如表2.2所示,這些屬性為大多數(shù)標(biāo)準(zhǔn)控件和窗體所共有。

表2.2控件或窗體的基本屬性2.2.1基本屬性

在VB中,常用的屬性如表2.2所示,這些屬性為大第二章VB的對象與課件(1)Name屬性Name屬性表示名稱屬性,即對象的標(biāo)識。VB中任何對象都具有Name屬性,是VB創(chuàng)建的對象名稱。在VB創(chuàng)建對象的過程中,系統(tǒng)根據(jù)對象的類別會自動給出默認(rèn)的名字。例如,VB程序創(chuàng)建第一個Text文本框的默認(rèn)名字為Text1。但是,用戶往往根據(jù)程序設(shè)計的規(guī)范習(xí)慣,重新對對象的Name屬性賦值。在程序中,Name屬性僅起到表示的作用而引用,不會顯示在窗體上。(2)Height、Width、Top和Left屬性Height、Width、Top和Left屬性,決定控件或?qū)ο笤诮缑嫔系奈恢煤痛笮。鋵傩灾祽?yīng)用單位為Twip,單位換算如下:1Twip=1/20點=1/1440英寸=1/567cm。第二章VB的對象與課件(3)Caption屬性Caption表示標(biāo)題屬性,即對象的標(biāo)題。對于窗體,該屬性是顯示在標(biāo)題欄中的文本;對于控件,該屬性是顯示在控件中或是附在控件之后的文本。創(chuàng)建對象時,其缺省標(biāo)題與缺省的Name屬性值相同。例如,第一個窗體,其缺省的名稱和標(biāo)題均為Form1。(4)Enabled屬性Enabled屬性設(shè)置對象在程序運行時有效或無效,其屬性值分別為True(缺省值)和False。其中,True:允許用戶進行操作,并對操作做出響應(yīng)。False:對象呈灰色,禁止用戶進行操作。第二章VB的對象與課件(5)Visible屬性Visible屬性決定對象在程序運行時是否可見。同Enabled屬性一樣,Visible屬性的取值也只有兩種True(可見,缺省值)和False(不可見)。(6)AutoRedraw屬性該屬性決定窗體被隱藏或被另一窗口覆蓋之后是否重新顯示,是否重新還原該窗體被隱藏或覆蓋以前的畫面,即是否重畫。當(dāng)屬性值為True時,重新還原該窗體以前的畫面。當(dāng)屬性值為False時,則不重畫。(7)顏色屬性VB的窗體和許多控件都有或多或少的顏色屬性,常用的有:BackColor(對象的背景顏色)、ForeColor(在對象中顯示的圖形或文本的前景顏色)、BorderColor(對象的邊框顏色)、FillColor(填充形狀的顏色)。第二章VB的對象與課件

在VB的各種對象中,大部分窗體和控件都支持以下基本事件:(1)Click單擊事件:此事件是在一個對象上按下然后釋放某個鼠標(biāo)鍵時發(fā)生。如:單擊窗體、命令按鈕、單選按鈕、復(fù)選按鈕、列表框、組合框等控件時觸發(fā)。(2)DblClick雙擊事件:此事件是在一個對象上連續(xù)兩次按下和釋放鼠標(biāo)鍵時發(fā)生。(3)Load事件:窗體被裝入時觸發(fā)的事件。該事件通常用來在啟動應(yīng)用程序時對屬性和變量進行初始化。2.2.2基本事件

在VB的各種對象中,大部分窗體和控件都支持以下基本

(4)Unload事件:卸載窗體時觸發(fā)該事件。(5)Resize事件:無論是因為用戶交互,還是通過代碼調(diào)整窗體的大小,都會觸發(fā)一個Resize事件。(6)KeyPress事件:按鍵事件。(7)MouseDown/MouseMove/MouseUp:鼠標(biāo)按下/鼠標(biāo)移動/鼠標(biāo)松開事件。(8)Initalize事件:初始化事件,在Load事件后發(fā)生該事件。(9)Activate/Deactivate事件:激活和非激活事件。例如,當(dāng)A窗體變成活動窗體時,A窗體發(fā)生Activate事件;當(dāng)另一個窗體被激活時,A窗體發(fā)生Deactivate事件。

2.2.3基本方法

窗體常用的方法有:打印輸出Print、移動Move、清除Cls、顯示Show、隱藏Hide等方法。(1)Print方法格式:[對象.]Print[{Spc(n)|Tab(n)}][表達式列表][;|,]作用:在對象上輸出信息對象:窗體、圖片框或打印機(Printer),省略對象時在窗體上輸出2.2.3基本方法

窗體常用的方法有:打印輸出Print、說明:Spc(n)函數(shù):用于在輸出時插入n個空格,允許重復(fù)使用。Tab(n)函數(shù):用于在輸出表達式列表前向右移動n列,允許重復(fù)使用。;(分號):用于緊湊格式輸出。光標(biāo)定位在上一個顯示的字符后。,(逗號):用于分區(qū)格式輸出。光標(biāo)定位在下一個打印區(qū)的開始位置處。每個打印區(qū)占14列。無;(分號)與,(逗號):表示輸出后換行。開始打印的位置是由對象的CurrentX和CurrentX屬性決定,缺省為打印對象的左上角(0,0)。第二章VB的對象與課件【例2.1】Print方法的應(yīng)用:在窗體Form1的單擊事件中寫入如下代碼:PrivateSubForm_Click()a=10b=3.14Print"a=";aPrint"b=",bPrint"a=";a,"b=";bPrint'空一行Print"123456789012345678901234567890"Print"a=";a,Print"b=";bPrintTab(18);"a=";aPrintSpc(18);"b=";bEndSub運行程序【例2.1】Print方法的應(yīng)用:運行程序按F5運行程序,單擊窗體后,看到圖2.1所示的運行結(jié)果。圖2.1例2.1程序運行結(jié)果圖(2)Cls方法格式:[對象.]Cls第二章VB的對象與課件作用:清除運行時在窗體或圖片框中顯示的文本或圖形。注意:不清除在設(shè)計時的文本和圖形。清屏后當(dāng)前坐標(biāo)回到原點。(3)Move方法格式:[對象.]Move左邊距離[,上邊距離[,寬度[,高度]]]作用:移動窗體或控件,并可改變其大小。對象:可以是窗體及除時鐘、菜單外的所有控件。第二章VB的對象與課件說明:左邊距離,上邊距離,寬度,高度:數(shù)值表達式,以twip為單位。如果是窗體對象,則“左邊距”和“上邊距”是以屏幕左邊界和上邊界為準(zhǔn)。其它則是以窗體的左邊和上邊界為準(zhǔn)?!纠?.2】使用Move方法移動一個窗體。雙擊窗體,窗體移動并定位在屏幕的左上角,同時窗為了實現(xiàn)這一功能,可以在窗體Forml的“代碼”窗口中輸入下列代碼:第二章VB的對象與課件PrivateSubForm_DblClick()Form1.Move0,0,Form1.Width/2,Form1.Height/2EndSub體的長寬也縮小一倍。(4)Show(顯示)方法Show方法用于在屏幕上顯示一個窗體,調(diào)用Show方法與設(shè)置窗體Visible屬性為True具有相同的效果。其調(diào)用格式如下:窗體名.Show[vbModal|vbModeless]PrivateSubForm_DblClick()【例2.3】實現(xiàn)將指定的窗體在屏幕上進行顯示或隱藏的切換。為了實現(xiàn)這一功能,可以在窗體Forml的“代碼”窗口中輸入下列代碼:PrivateSubForm_Click() Form1.Hide‘隱藏窗體 MsgBox"單擊確定按鈕,使窗體重現(xiàn)屏幕" Form1.Show'重現(xiàn)窗體EndSub【例2.3】實現(xiàn)將指定的窗體在屏幕上進行顯示或隱藏的切換。2.3VB程序的執(zhí)行過程

2.3VB程序的執(zhí)行過程

一個VB應(yīng)用程序(工程)通常是由多種類型的文件構(gòu)成,其中最主要的就是窗體模塊和標(biāo)準(zhǔn)模塊。與該工程有關(guān)的全部文件和對象的清單,以及所設(shè)置的環(huán)境選項方面的信息都保存在工程文件中(擴展名.vbp)。

一個典型的VB程序的執(zhí)行主要包含以下步驟:(1)啟動應(yīng)用程序,裝載和顯示窗體;(2)窗體(或窗體上的控件)等待事件的發(fā)生,實質(zhì)是對象等待事件的發(fā)生;(3)事件發(fā)生時,對象執(zhí)行對應(yīng)的根據(jù)用戶編寫的程序(程序中包含對象對其方法的調(diào)用);(4)重復(fù)執(zhí)行步驟(2)和(3);(5)直到遇到“END”結(jié)束語句結(jié)束程序的運行或按“結(jié)束”按鈕強行停止程序的運行。第二章VB的對象與課件2.4簡單程序開發(fā)實例

2.4簡單程序開發(fā)實例

VB之所以得到迅速流行和廣泛適用,與其編程的特點密不可分。首先,VB具有可視化的特點,也就是說VB將傳統(tǒng)的GUI界面元素(如窗體、菜單、按鈕、文本框等)視作不同的屬性數(shù)據(jù)和操作程序封裝而成的對象,實現(xiàn)了“所見即所得”的操作效果,程序員只需簡單的控件選擇就完成了程序界面的設(shè)計工作;其次,VB面向?qū)ο蟮奶攸c,采用事件驅(qū)動的編程機制,用戶只需對每個對象需要響應(yīng)的事件分別編寫程序代碼,而不需要考慮整個程序運行過程的控制;再次,簡單易學(xué)的Basic語言和MicrosoftVisualBasic交互的集成開發(fā)環(huán)境,降低了程序可能的錯誤,提高了調(diào)試程序的效率。VB之所以得到迅速流行和廣泛適用,與基于以上的優(yōu)點,建立一個VB應(yīng)用程序,一般經(jīng)過以下步驟:(1)建立用戶界面的對象;(2)對象屬性的設(shè)置;

溫馨提示

  • 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

提交評論