版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第二章 VB的對象與編程特點,2.1 面向?qū)ο笞兂傻幕靖拍?2.2 基本屬性、事件和方法 2.3 VB程序的運行過程 2.4 簡單程序開發(fā)實例,作為功能強大的Windows環(huán)境下應用程序開發(fā)工具,VB 以其獨特的程序設計方式和簡單的程序設計過程而被眾多用戶所使用。本章主要講述VB中對象的特點、VB程序設計過程和常用屬性、事件和方法。,2.1 面向?qū)ο缶幊痰幕靖拍?VB采用的是面向?qū)ο蠛桶词录?qū)動的機制。程序員只需要編寫某些對象的事件過程程序,例如單擊事件等,而不必考慮按精確次序執(zhí)行的每個步驟,編寫代碼相對較少,就可以快速創(chuàng)建強大的應用程序。這種事件編程的機制就是通常所說的“可視化編程”方式
2、。利用面向?qū)ο蟮母拍钸M行軟件開發(fā),符合我們的思維邏輯。,2.1.1 VB的類與對象,類(Class)和對象(Object)是面向?qū)ο蟪绦蛟O計中重要的基本概念。類是對客觀實體的抽象化,是數(shù)據(jù)和處理這些數(shù)據(jù)過程的封裝,而對象是類的具體實例化。VB中的對象就是由類創(chuàng)建,對象則是類的具體實例。類就像模板,它定義了一組大體上相似的對象,確定由它生成對象所具有的公共特征和功能。例如:人類就是一個類,而張三同學就是這個類的一個具體實例,即對象。 在VB環(huán)境下,常用的對象有工具箱中的控件、窗體、菜單、應用程序的部件和數(shù)據(jù)庫,除此之外,VB還提供了系統(tǒng)對象,如打印機(Printer)等。 在窗體上創(chuàng)建對象時,可
3、以單擊工具箱上要創(chuàng)建的對象圖標,然后在窗體上合適位置畫出對象來。初步建立的對象只是一個“空對象”,其操作需要通過對該對象有關(guān)的屬性、事件和方法進行描述。,2.1.2 屬性,屬性(Property)是指一個對象所具有的性質(zhì)和特征,是反映對象特征的參數(shù),這些性質(zhì)可能是外在的,也可能是內(nèi)在的。如:某個人姓名為張三,性別為男,身高為1.7米,性格外向,愛好籃球,這些都是這個人的屬性;其中,“姓名”、“性別”、“身高”是外在屬性,“性格”、“愛好”是內(nèi)在屬性。而 “張三”、“男”、“1.7米”,“外向”,“籃球”就是相應的屬性值。不同的對象有不同的屬性,不同的屬性又可以有不同的屬性值,改變屬性值就改變了
4、對象的特征。在VB中,屬性值的改變可以通過屬性窗口和程序代碼兩種方法來實現(xiàn):,(1)先選定對象,然后在屬性窗口中找到相應屬性直接修改。此方法的特點是簡單明了,每次選擇一個屬性時,其屬性窗口的下部就顯示該屬性的一個簡短說明;缺點是不能修改所有需要的屬性。 (2)通過程序代碼修改屬性值,其語法格式為: 對象名.屬性名=屬性值 例如:設置標簽Label1的標題為“北京歡迎你”的語句為: Label1.Caption = 北京歡迎你 需注意的是:并不是所有的屬性在運行時都可以修改的。對象的屬性可分為兩類:在程序運行時可以修改并可獲得值的屬性稱為讀寫屬性;在運行時只能夠讀取的屬性稱為只讀屬性。 讀取屬性
5、值可以通過程序代碼實現(xiàn),例如: strName = Label1.Caption 表示將標簽Label1的標題內(nèi)容賦值給變量strName。,2.1.3 方法,方法(Method)是對象的行為,即將一些通用的過程編寫好并封裝起來,作為方法供用戶直接調(diào)用。在VB中,方法實際上是指對象本身所包含的一些特殊函數(shù)或過程,利用對象內(nèi)部自帶的函數(shù)或過程,可以實現(xiàn)對象的一些特殊功能和動作。例如,窗體的Show方法可以用來顯示窗體,列表框的AddItem方法可以用來在列表框中添加數(shù)據(jù)項。,VB的方法通過程序代碼調(diào)用,其語法格式為: 對象名稱.方法名稱 例如:在程序中調(diào)用List1列表框的AddItem方法,使
6、List1中添加數(shù)據(jù)項 “China”,其程序代碼為: List1.AddItem China 如果調(diào)用方法時,省略了“對象名稱”,那么所調(diào)用的方法作為當前對象的方法。通常當前窗體作為當前對象。,例如: Print China 運行時,在當前窗體上顯示字符串“China”。 VB中提供了大量的方法,有些基本方法適于多數(shù)對象,而有些方法只適用于少數(shù)對象。,2.1.4 事件,事件(Event)是指對象能夠識別并做出反應的外部刺激。例如單擊(Click)事件、雙擊(DblClick)事件、鼠標移動(MouseMove)事件、裝載(Load)事件等。每一種對象能識別的事件是不同的。盡管每一種對象所支持
7、的事件很多,但實際上,一個程序中往往只用到其中幾種,可根據(jù)實際需要選定。,當事件由用戶觸發(fā)(比如單擊)或由系統(tǒng)觸發(fā)(比如裝載)時,對象就會對該事件做出響應,響應某個事件后執(zhí)行的程序代碼就是事件過程。事件過程的一般編寫格式如下: Private Sub 對象名_事件(參數(shù)列表) 程序代碼 End Sub,2.1.5 控件,控件(Controls)是 VB 通過控件箱提供的與用戶交互的可視化部件,是構(gòu)成用戶界面的基本元素。 VB中的控件通常分為三類: (1)標準控件(或稱內(nèi)部控件):在默認狀態(tài)下工具箱中顯示的控件,這些控件被 “封裝”在VB 的 .exe 文件中,不可從工具箱中刪除,如表2.1所示
8、。 (2)ActiveX控件:為了方便用戶設計功能強大的復雜應用程序,VB和第三開發(fā)商提供了大量的ActiveX控件。這類控件單獨保存在 .ocx類型的文件中,例如在專業(yè)版和企業(yè)版中提供的公共對話框、動畫、MCI控件等。,(3)可插入對象:用戶可將 Excel工作表或 PowerPoint幻燈片等作為一個對象添加到工具箱中,編程時可根據(jù)需要隨時創(chuàng)建可插入對象。 利用控件創(chuàng)建對象是VB編程的重要工作之一,它可以使程序員免除大量重復性的工作,能夠以最快的速度和效率開發(fā)具有良好用戶界面的應用程序。,表2.1 標準控件簡介,2.1.6 窗體,窗體(Form)是一種對象,由屬性定義其數(shù)據(jù)、由方法定義其行
9、為、由事件定義其交互。一個窗體實際上就是一個窗口,它是VB編程中最常見的對象,也是程序設計的基礎。各個控件對象必須建立在窗體上,一個窗體對應一個窗體模塊。 就如我們所看到Window環(huán)境下的應用程序窗口一樣,VB中的窗體具有標題欄和邊框。程序員還可以根據(jù)自身的需要在窗體上添加菜單欄、工具欄和狀態(tài)欄。,對于窗體的操作也和Window環(huán)境下的窗口操作一樣,在運行時,用鼠標拖動標題欄可以移動窗體;將鼠標移動到窗體邊框,當出現(xiàn)雙箭頭時拖動鼠標可以改變窗體的大小。用戶也可以通過控制菜單對窗體的位置、大小進行控制。,2.2 基本屬性、事件和方法,窗體和控件是VB程序設計中的兩個重要概念,它是創(chuàng)建一個VB應
10、用程序界面的基本構(gòu)造模塊。作為對象他們擁有常用的基本屬性,同時,很多控件和對象擁有常用的基本事件和基本方法。本節(jié)介紹窗體或控件的基本屬性、事件和方法。,在VB中,常用的屬性如表2.2所示,這些屬性為大多數(shù)標準控件和窗體所共有。,表2.2 控件或窗體的基本屬性,2.2.1 基本屬性,(1)Name 屬性 Name屬性表示名稱屬性,即對象的標識。VB中任何對象都具有Name屬性,是VB創(chuàng)建的對象名稱。在VB創(chuàng)建對象的過程中,系統(tǒng)根據(jù)對象的類別會自動給出默認的名字。例如,VB程序創(chuàng)建第一個Text文本框的默認名字為Text1。但是,用戶往往根據(jù)程序設計的規(guī)范習慣,重新對對象的Name屬性賦值。在程序
11、中,Name屬性僅起到表示的作用而引用,不會顯示在窗體上。 (2)Height、Width、Top和Left屬性 Height、Width、Top和Left屬性,決定控件或?qū)ο笤诮缑嫔系奈恢煤痛笮。鋵傩灾祽脝挝粸門wip,單位換算如下:1Twip=1/20點=1/1440英寸=1/567cm。,(3)Caption 屬性 Caption表示標題屬性,即對象的標題。對于窗體,該屬性是顯示在標題欄中的文本;對于控件,該屬性是顯示在控件中或是附在控件之后的文本。創(chuàng)建對象時,其缺省標題與缺省的Name屬性值相同。例如,第一個窗體,其缺省的名稱和標題均為Form1。 (4)Enabled屬性 Ena
12、bled屬性設置對象在程序運行時有效或無效,其屬性值分別為True(缺省值)和False。其中,True:允許用戶進行操作,并對操作做出響應。False:對象呈灰色,禁止用戶進行操作。,(5)Visible屬性 Visible屬性決定對象在程序運行時是否可見。同Enabled屬性一樣,Visible屬性的取值也只有兩種True(可見,缺省值)和False(不可 見)。 (6)AutoRedraw屬性 該屬性決定窗體被隱藏或被另一窗口覆蓋之后是否重新顯示,是否重新還原該窗體被隱藏或覆蓋以前的畫面,即是否重畫。當屬性值為True時,重新還原該窗體以前的畫面。當屬性值為False時,則不重畫。 (7
13、)顏色屬性 VB的窗體和許多控件都有或多或少的顏色屬性,常用的有:BackColor(對象的背景顏色)、ForeColor(在對象中顯示的圖形或文本的前景顏色)、BorderColor(對象的邊框顏色)、FillColor(填充形狀的顏色)。,在VB的各種對象中,大部分窗體和控件都支持以下基本事件: (1)Click單擊事件:此事件是在一個對象上按下然后釋放某個鼠標鍵時發(fā)生。如:單擊窗體、命令按鈕、單選按鈕、復選按鈕、列表框、組合框等控件時觸發(fā)。 (2)DblClick雙擊事件:此事件是在一個對象上連續(xù)兩次按下和釋放鼠標鍵時發(fā)生。 (3)Load事件:窗體被裝入時觸發(fā)的事件。該事件通常用來在啟
14、動應用程序時對屬性和變量進行初始化。,2.2.2 基本事件,(4)Unload事件: 卸載窗體時觸發(fā)該事件。 (5)Resize事件:無論是因為用戶交互,還是通過代碼調(diào)整窗體的大小,都會觸發(fā)一個Resize事件。 (6)KeyPress事件:按鍵事件。 (7)MouseDown/MouseMove/MouseUp:鼠標按下/鼠標移動/鼠標松開事件。 (8)Initalize事件:初始化事件,在Load事件后發(fā)生該事件。 (9)Activate/Deactivate事件:激活和非激活事件。例如,當A窗體變成活動窗體時,A窗體發(fā)生Activate事件;當另一個窗體被激活時,A窗體發(fā)生Deactiv
15、ate事件。,2.2.3 基本方法,窗體常用的方法有:打印輸出Print、移動Move、清除Cls、顯示Show 、隱藏Hide等方法。 (1)Print方法 格式:對象.PrintSpc(n)|Tab(n)表達式列表;|, 作用:在對象上輸出信息 對象:窗體、圖片框或打印機(Printer) ,省略對象時在窗體上輸出,說明: Spc(n)函數(shù):用于在輸出時插入n個空格,允許重復使用。 Tab(n)函數(shù):用于在輸出表達式列表前向右移動n列,允許重復使用。 ;(分號):用于緊湊格式輸出。光標定位在上一個顯示的字符后。 ,(逗號):用于分區(qū)格式輸出。光標定位在下一個打印區(qū)的開始位置處。每個打印區(qū)占
16、14列。 無;(分號)與,(逗號):表示輸出后換行。開始打印的位置是由對象的CurrentX和CurrentX屬性決定,缺省為打印對象的左上角(0,0)。,【例2.1】Print方法的應用: 在窗體Form1的單擊事件中寫入如下代碼: Private Sub Form_Click() a = 10 b = 3.14 Print a=; a Print b=, b Print a=; a, b=; b Print 空一行 Print 123456789012345678901234567890 Print a=; a, Print b=; b Print Tab(18); a=; a Print
17、 Spc(18); b=; b End Sub,運行程序,按F5運行程序,單擊窗體后,看到圖2.1所示的運行結(jié)果。 圖2.1 例2.1程序運行結(jié)果圖 (2)Cls方法 格式:對象.Cls,作用:清除運行時在窗體或圖片框中顯示的文本或圖形。 注意:不清除在設計時的文本和圖形。清屏后當前坐標回到原點。 (3)Move方法 格式:對象.Move 左邊距離,上邊距離,寬度,高度 作用:移動窗體或控件,并可改變其大小。 對象:可以是窗體及除時鐘、菜單外的所有控件。,說明: 左邊距離,上邊距離,寬度,高度:數(shù)值表達式,以twip為單位。如果是窗體對象,則“左邊距”和“上邊距”是以屏幕左邊界和上邊界為準。其
18、它則是以窗體的左邊和上邊界為準。 【例2.2】使用Move方法移動一個窗體。雙擊窗體,窗體移動并定位在屏幕的左上角,同時窗為了實現(xiàn)這一功能,可以在窗體Forml的“代碼”窗口中輸入下列代碼:,Private Sub Form_DblClick() Form1.Move 0, 0, Form1.Width / 2, Form1.Height / 2 End Sub體的長寬也縮小一倍。 (4)Show(顯示)方法 Show方法用于在屏幕上顯示一個窗體,調(diào)用 Show 方法與設置窗體 Visible 屬性為 True 具有相同的效果。 其調(diào)用格式如下: 窗體名.Show vbModal | vbMo
19、deless,【例2.3】 實現(xiàn)將指定的窗體在屏幕上進行顯示或隱藏的切換。 為了實現(xiàn)這一功能,可以在窗體Forml的“代碼”窗口中輸入下列代碼: Private Sub Form_Click() Form1.Hide 隱藏窗體 MsgBox 單擊確定按鈕,使窗體重現(xiàn)屏幕 Form1.Show 重現(xiàn)窗體 End Sub,2.3 VB程序的執(zhí)行過程,一個VB應用程序(工程)通常是由多種類型的文件構(gòu)成,其中最主要的就是窗體模塊和標準模塊。與該工程有關(guān)的全部文件和對象的清單,以及所設置的環(huán)境選項方面的信息都保存在工程文件中(擴展名.vbp)。,一個典型的VB程序的執(zhí)行主要包含以下步驟: (1)啟動應用
20、程序,裝載和顯示窗體; (2)窗體(或窗體上的控件)等待事件的發(fā)生,實質(zhì)是對象等待事件的發(fā)生; (3)事件發(fā)生時,對象執(zhí)行對應的根據(jù)用戶編寫的程序(程序中包含對象對其方法的調(diào)用); (4)重復執(zhí)行步驟(2)和(3); (5) 直到遇到“END” 結(jié)束語句結(jié)束程序的運行或按“結(jié)束”按鈕強行停止程序的運行。,2.4 簡單程序開發(fā)實例,VB之所以得到迅速流行和廣泛適用,與其編程的特點密不可分。首先,VB具有可視化的特點,也就是說VB將傳統(tǒng)的GUI界面元素(如窗體、菜單、按鈕、文本框等)視作不同的屬性數(shù)據(jù)和操作程序封裝而成的對象,實現(xiàn)了“所見即所得”的操作效果,程序員只需簡單的控件選擇就完成了程序界面
21、的設計工作;其次,VB面向?qū)ο蟮奶攸c,采用事件驅(qū)動的編程機制,用戶只需對每個對象需要響應的事件分別編寫程序代碼,而不需要考慮整個程序運行過程的控制;再次,簡單易學的Basic語言和Microsoft Visual Basic 交互的集成開發(fā)環(huán)境,降低了程序可能的錯誤,提高了調(diào)試程序的效率。,基于以上的優(yōu)點,建立一個VB應用程序,一般經(jīng)過以下步驟: (1)建立用戶界面的對象; (2)對象屬性的設置; (3)對象事件過程及編程; (4)程序運行和調(diào)試; (5)保存文件。 下面通過一個簡單的實例,掌握VB程序設計的一般過程。,【例2.4】幸運七游戲。程序運行時如圖2.2所示,當用戶單擊開始按鈕時,就
22、會在三個標簽框中各隨機顯示一個09之間的數(shù)字,如果其中有一個或多個7時,則在窗體上出現(xiàn)“恭喜你,中獎了!”,如圖2.3所示;否則,出現(xiàn)“很抱歉,沒中獎!”,如圖2.4所示。用戶單擊結(jié)束按鈕,則程序結(jié)束。,圖2.2 例2.4程序運行結(jié)果圖1,圖2.4 例2.4程序運行結(jié)果圖3,圖2.3 例2.4程序運行結(jié)果圖2,分析: 第一步:新建一個工程文件 (1)啟動VB 后新建一個工程 在桌面上依次選擇“開始”“程序”“MicroSoft Visual Basic 6.0”程序組“MicroSoft Visual Basic 6.0”,啟動VB,屏幕上顯示“新建工程”對話框,如圖1.1所示。單擊“打開”按
23、鈕。 (2)重新建立一個工程 從“文件”菜單中選擇“新建工程”命令或按Ctrl+N快捷鍵,系統(tǒng)將關(guān)閉當前工程,提示用戶保存所有修改過的文件。屏幕顯示“新建工程”對話框,如圖2.5所示。單擊選定“標準EXE”,再單擊“確定”按鈕。VB將創(chuàng)建一個帶有單個新文件的新工程。,第二步:用戶界面設計。 從圖2.2中可以直觀看出,該界面包括4個標簽(Label)控件、2個命令按鈕(CommandButton)控件。又由于要在窗體上出現(xiàn)“恭喜你,中獎了!”或“很抱歉,沒中獎!”,則再添加1個標簽(Label)控件。從工具箱中用鼠標單擊工具,并拖放到窗體中相應的位置,調(diào)整其大小,進行合理的布局。,圖2.5 “新建工程”對話框,第三步:對象屬性的設置。,表2.3 窗體和各對象的相關(guān)屬性的設置,第四步:對象事件過程代碼的編寫。 Pr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 煤礦安全生產(chǎn)標準化提升方案總結(jié)
- 車隊司機安全培訓記錄課件
- 車間行車安全培訓課件
- 車間級安全教育內(nèi)容課件
- 銀行員工獎懲管理制度
- 車間生產(chǎn)安全員培訓內(nèi)容課件
- 車間工人安全帶培訓材料課件
- 車間安全操作規(guī)范培訓課件
- 車間安全培訓需求調(diào)查表課件
- 車間安全培訓總結(jié)課件
- 2026年包頭輕工職業(yè)技術(shù)學院高職單招職業(yè)適應性測試參考題庫及答案詳解
- 2026貴州黔南州長順縣醫(yī)療集團中心醫(yī)院招聘備案編制人員21人筆試參考題庫及答案解析
- 中國兒童原發(fā)性免疫性血小板減少癥診斷與治療改編指南(2025版)
- 2026年遼寧生態(tài)工程職業(yè)學院單招綜合素質(zhì)考試題庫附答案詳解
- 基坑回填質(zhì)量控制措施
- 2025重慶城口縣國有企業(yè)公開招聘26人參考題庫附答案
- 應力性骨折課件
- 醫(yī)保基金監(jiān)管培訓課件
- 新型醫(yī)療器械應用評估報告
- 大數(shù)據(jù)分析在供熱中的應用方案
- 污泥安全管理制度范本
評論
0/150
提交評論