




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第2章 簡(jiǎn)單的Visual BASIC程序設(shè)計(jì)2.1 VB可視化編程的基本概念2.2 窗體和最基本的控件2.3 Visual BASIC可視化編程的基本步驟2.4 Visual BASIC應(yīng)用程序的結(jié)構(gòu)與工作方式2.5 工作環(huán)境設(shè)置與程序調(diào)試2.1 VB可視化編程的基本概念 對(duì)象是具有特殊屬性(數(shù)據(jù))的行為方式(方法)的實(shí)體。在VB環(huán)境中所涉及到的窗體、控件、部件和菜單項(xiàng)等均為對(duì)象,程序員既可以利用控件來(lái)創(chuàng)建對(duì)象,也可以設(shè)計(jì)自己的對(duì)象。 在窗體上創(chuàng)建對(duì)象時(shí),可以單擊工具箱上要?jiǎng)?chuàng)建的對(duì)象圖標(biāo),然后在窗體上合適位置畫(huà)出對(duì)象來(lái)。初步建立的對(duì)象只是一個(gè)“空對(duì)象”,其操作需要通過(guò)對(duì)該對(duì)象有關(guān)的屬性、事件
2、和方法進(jìn)行描述。 除了通過(guò)窗體、控件、部件和菜單項(xiàng)等創(chuàng)建控件對(duì)象外,VB還提供了系統(tǒng)對(duì)象,如打印機(jī)(Printer)、剪貼板(Clipboard)和屏幕(Screen)等。 有關(guān)對(duì)象的創(chuàng)建方法參見(jiàn)本章2.3節(jié)。2.1.1 Visual BASIC對(duì)象的概念1對(duì)象的屬性 對(duì)象的屬性可以看作是它的一些性質(zhì),其中包括可見(jiàn)的和不可見(jiàn)的??梢?jiàn)的屬性如對(duì)象的大小、形狀和顏色等;不可見(jiàn)的屬性如對(duì)象的生存期等。2.1.2 對(duì)象的屬性、事件和方法屬性窗口2對(duì)象的事件 事件就是對(duì)象上所發(fā)生的事情,是指對(duì)象所接受的某些外部影響。 事件是預(yù)先定義好的、能夠被對(duì)象識(shí)別的動(dòng)作。 事件過(guò)程:可以通過(guò)一段程序代碼來(lái)響應(yīng)某個(gè)具
3、體事件所執(zhí)行的操作,這段程序代碼即為事件過(guò)程 。對(duì)象的事件與方法3對(duì)象的方法 方法就是要執(zhí)行的動(dòng)作,是系統(tǒng)提供的一種特殊函數(shù)或過(guò)程,用于完成某種特定功能而不能響應(yīng)某個(gè)事件。如對(duì)象打印方法(Print),顯示窗體方法(Show),移動(dòng)方法(Move)等。對(duì)象的方法是固有的,在開(kāi)發(fā)應(yīng)用程序時(shí),可以對(duì)編程中使用到的對(duì)象的方法進(jìn)行調(diào)用,但是不能對(duì)它們進(jìn)行編輯和修改。開(kāi)發(fā)應(yīng)用程序時(shí),對(duì)象的方法都是在程序中編寫(xiě)代碼進(jìn)行調(diào)用的。 方法只在程序代碼中使用。方法的操作與過(guò)程和函數(shù)的操作相同,但要注意方法是特定對(duì)象的一部分,正如屬性和事件是對(duì)象的一部分一樣 2.2 窗體和最基本的控件2.2.1 Visual BA
4、SIC的控件種類2.2.2 對(duì)象的基本屬性2.2.3 窗體2.2.4 文本框控件(TextBox )2.2.5 標(biāo)簽控件(Label)2.2.6 命令按鈕控件(CommandButton)2.2.1 Visual BASIC的控件種類1內(nèi)部控件2ActiveX控件3可插入對(duì)象1內(nèi)部控件 內(nèi)部控件又稱標(biāo)準(zhǔn)控件,在默認(rèn)狀態(tài)下工具箱中顯示的控件都是內(nèi)部控件,這些控件由Visual BASIC的EXE文件提供,不能進(jìn)行刪除和添加操作。命令按鈕、文本框和復(fù)選框等都屬于內(nèi)部控件。2ActiveX控件為了方便用戶設(shè)計(jì)功能強(qiáng)大的復(fù)雜應(yīng)用程序,VB和第三開(kāi)發(fā)商提供了大量的ActiveX控件。ActiveX控件是
5、四種ActiveX部件之一。ActiveX部件是可以重復(fù)使用的編程代碼和數(shù)據(jù),是由ActiveX技術(shù)創(chuàng)建的一個(gè)或多個(gè)對(duì)象所組成的、以.ocx為擴(kuò)展名的獨(dú)立文件。 3可插入對(duì)象可插入對(duì)象是Windows應(yīng)用程序的對(duì)象,如Microsoft Word文檔、AutoCAD Drawing等??梢詫⒖刹迦雽?duì)象添加到工具箱中,象使用標(biāo)準(zhǔn)控件一樣使用。內(nèi)部控件內(nèi)部控件與ActiveX控件表2-2 Visual Basic內(nèi)部控件的作用編號(hào)名 稱作 用1Pointer(指針)這并不是一個(gè)控件,但只有選定指針后,才能改變窗體的位置和大小2PictureBox(圖片框)用于顯示圖像(包括圖片和文本),可以裝入位
6、圖、圖標(biāo)以及.wmf、,jpg、.gif等各種圖形格式的文件,也可作為其他控件的載體,即父控件3Label(標(biāo)簽)用來(lái)顯示文本信息,但不能輸入文本4TextBox(文本框)既可輸入也可輸出文本,并可對(duì)文本進(jìn)行編輯5Frame(框架)組合相關(guān)的對(duì)象,將性質(zhì)相同的控件集中一起6CommandButton(命令按鈕)用于向Visual BASIC應(yīng)用程序發(fā)出命令,單擊該按鈕將執(zhí)行指定的操作7CheckBox(復(fù)選框)用于多重選擇,也稱檢查框8OptionButton(單選按鈕)用于表示單選的開(kāi)關(guān)狀態(tài),也稱錄音機(jī)按鈕9ComboBox(組合框)創(chuàng)建組合框或下拉列表框?qū)ο螅脩艨梢詮牧斜碇羞x擇一項(xiàng)或人工
7、輸入一個(gè)值10ListBox(列表框)用于顯示可供用戶選擇的固定列表11HscrollBox(水平滾動(dòng)條)用于表示在一定范圍內(nèi)的數(shù)值選擇。常放在列表框或文本框中用來(lái)瀏覽信息,或用來(lái)設(shè)置數(shù)值輸入12VscrollBox(垂直滾動(dòng)條)用于表示在一定范圍內(nèi)的數(shù)值選擇。常放在列表框或文本框中用來(lái)瀏覽信息,或用來(lái)設(shè)置數(shù)值輸入13Timer(計(jì)時(shí)器)在給定的時(shí)間間隔內(nèi)捕捉計(jì)時(shí)器事件,此控件在運(yùn)行時(shí)不可見(jiàn)14DriveListBox(驅(qū)動(dòng)器列表框)顯示當(dāng)前系統(tǒng)中可用的驅(qū)動(dòng)器列表供用戶選擇15DirListBox(目錄列表框)顯示當(dāng)前驅(qū)動(dòng)器磁盤(pán)上目錄列表供用戶選擇16FileListBox(文件列表框)顯示當(dāng)
8、前目錄中的文件名列表供用戶選擇17Shape(形狀)設(shè)計(jì)時(shí)用于在窗體中繪制矩形、圓等幾何圖形18Line(直線)設(shè)計(jì)時(shí)在窗體中繪制直線19Image(圖像框)顯示一個(gè)位圖式圖像,可作為背景或裝飾的圖像元素,單擊時(shí)其動(dòng)作類似于命令按鈕20Data(數(shù)據(jù))用來(lái)連接數(shù)據(jù)庫(kù),并可在窗體的其他控件中顯示數(shù)據(jù)庫(kù)信息21OLE Container(OLE容器)用于對(duì)象的連接與嵌入2.2.2 對(duì)象的基本屬性1Name屬性2Caption屬性3Enabled屬性4Visible屬性5Font屬性 6Height、Width、Top和Left屬性7顏色屬性8背景樣式屬性(BackStyle)9邊框樣式屬性(Bor
9、derStyle )10MousePointer 屬性11MouseIcon 屬性12Alignment 屬性13AutoSize 屬性14WordWrap 屬性15TabIndex屬性16控件的默認(rèn)值1Name屬性 用于標(biāo)識(shí)窗體、控件、或數(shù)據(jù)訪問(wèn)對(duì)象的名字。在運(yùn)行時(shí)是只讀的。 新控件的缺省名字由控件默認(rèn)名稱加上一個(gè)唯一的整數(shù)組成。2Caption屬性用于標(biāo)識(shí)一個(gè)對(duì)象活動(dòng)窗口標(biāo)題的字符串。可以使用 Caption 屬性賦予控件一個(gè)訪問(wèn)鍵。在標(biāo)題中,在想要指定為訪問(wèn)鍵的字符前加一個(gè) (&) 符號(hào)。該字符就帶有一個(gè)下劃線。同時(shí)按下 ALT 鍵和帶下劃線的字符就可把焦點(diǎn)移動(dòng)到那個(gè)控件上。為了在標(biāo)題中
10、加入一個(gè) (&) 符號(hào)而不是創(chuàng)建訪問(wèn)鍵,需要在標(biāo)題中加入兩個(gè)即 (&) 符號(hào)。這樣,在標(biāo)題中只有單個(gè) (&) 符號(hào)被顯示而沒(méi)有帶下劃線的字符。3Enabled屬性用來(lái)確定一個(gè)窗體或控件是否能夠?qū)τ脩舢a(chǎn)生的事件作出反應(yīng)。其值為邏輯值True或False。Enabled 屬性允許在運(yùn)行時(shí)使窗體和控件成為有效或無(wú)效。例如,可以使對(duì)象成為不能用于應(yīng)用程序的當(dāng)前狀態(tài)的無(wú)效狀態(tài)。也可以使之純粹用來(lái)顯示,比如使文本框控件無(wú)效,從而提供只讀的文本信息。 4Visible屬性為指定對(duì)象設(shè)置為可見(jiàn)或隱藏的值,其值為邏輯值True或False。5Font屬性為指定對(duì)象上顯示的文本設(shè)置字體屬性,包括字體(FontNa
11、me)、字號(hào)(FontSize)、字形(FontBold、FontItalic)等。6Height、Width、Top和Left屬性在窗體上設(shè)計(jì)控件時(shí),VB提供了默認(rèn)的坐標(biāo)系統(tǒng)。窗體左上角為坐標(biāo)原點(diǎn),上邊框?yàn)樽鴺?biāo)橫軸,左邊框?yàn)樽鴺?biāo)縱軸,坐標(biāo)單位為緹(twip),1 twip =1/20點(diǎn)=1/1440英寸=1/567厘米。Height和Width用來(lái)決定控件的高度和寬度,Top和Left屬性決定了控件在窗體中的位置,Top屬性決定控件到窗體頂部的距離,Left屬性決定了控件到窗體左邊框的距離。對(duì)窗體而言,Top屬性決定窗體到屏幕頂部的距離,Left屬性決定了窗體到屏幕左邊的距離。7顏色屬性(1
12、)背景顏色屬性(BackColor):用于設(shè)置控件正文之外的顏色。如果在繪圖方法進(jìn)行繪圖之后改變 BackColor 屬性,則已有的圖形將會(huì)被新的背景顏色所覆蓋。用戶可以在調(diào)色板中選擇顏色。(2)前景顏色屬性(ForeColor):用于設(shè)置控件的正文顏色。改變 ForeColor屬性不影響已創(chuàng)建的文本或圖形。用戶可以在調(diào)色板中選擇顏色。(3)邊框顏色屬性(BorderColor):返回或設(shè)置對(duì)象的邊框顏色。(4)填充顏色屬性(FillColor):用來(lái)設(shè)置填充形狀的顏色,也可以用來(lái)為用 Circle 方法創(chuàng)建的圓和用 Line 方法創(chuàng)建的方框設(shè)置填充顏色。8背景樣式屬性(BackStyle)它
13、指定標(biāo)簽控件或形狀控件的背景是透明的還是非透明的。0:透明,在控件后的背景色和任何圖片都是可見(jiàn)的。1:缺省值,非透明,用控件的 BackColor 屬性設(shè)置值填充該控件,并隱藏該控件后面的所有顏色和圖片。9邊框樣式屬性(BorderStyle )用來(lái)設(shè)置對(duì)象的邊框樣式。對(duì) Form 對(duì)象和 Textbox 控件在運(yùn)行時(shí)是只讀的。Form 對(duì)象的 BorderStyle 屬性設(shè)置值如下0:無(wú)(沒(méi)有邊框或與邊框相關(guān)的元素)。1:固定單邊框??梢园刂撇藛慰?,標(biāo)題欄,“最大化”按鈕,和“最小化”按鈕。只有使用最大化和最小化按鈕才能改變大小。2:(缺省值)可調(diào)整的邊框??梢允褂迷O(shè)置值1列出的任何可選
14、邊框元素重新改變尺寸。3:固定對(duì)話框??梢园刂撇藛慰蚝蜆?biāo)題欄,不能包含最大化和最小化按鈕,不能改變尺寸。4:固定工具窗口。不能改變尺寸。顯示關(guān)閉按鈕并用縮小的字體顯示標(biāo)題欄。窗體在 Windows 95 的任務(wù)條中不顯示。5:可變尺寸工具窗口??勺兇笮?。顯示關(guān)閉按鈕并用縮小的字體顯示標(biāo)題欄。窗體在 Windows 95 的任務(wù)條中不顯示 10MousePointer 屬性用來(lái)設(shè)置在運(yùn)行時(shí),當(dāng)鼠標(biāo)移動(dòng)到對(duì)象的一個(gè)特定部分時(shí),被顯示的鼠標(biāo)指針的類型。設(shè)置值的范圍一般在015之間。下面是幾種常用的設(shè)置值:0:缺省值,形狀由對(duì)象決定。1:箭頭。2:十字線。3:I 型11:沙漏(表示等待狀態(tài))。99
15、:通過(guò) MouseIcon 屬性所指定的自定義圖標(biāo)。11MouseIcon 屬性用來(lái)設(shè)置自定義的鼠標(biāo)圖標(biāo),圖標(biāo)文件類型為.ico或.cur,圖標(biāo)文件在安裝目錄的Graphics文件夾中。該屬性在 MousePointer 屬性值為99時(shí)有效。12Alignment 屬性該屬性決定 CheckBox 或 OptionButton 控件、控件中的文本的對(duì)齊方式。對(duì) CheckBox 、 OptionButton 和 TextBox 控件在運(yùn)行時(shí)為只讀。對(duì) CheckBox 和 OptionButton 控件,Alignment 屬性的設(shè)置值為:0:(缺省值)文本是左對(duì)齊的,控件是右對(duì)齊的。1:文本
16、右對(duì)齊,控件左對(duì)齊。對(duì) Label 和 TextBox 控件,Alignment 屬性的設(shè)置值為:0:(缺省值)文本左對(duì)齊。1:文本右對(duì)齊2:文本居中13AutoSize 屬性該屬性決定控件是否具有自動(dòng)改變大小以顯示其全部?jī)?nèi)容的功能。其設(shè)置值為:True:自動(dòng)改變控件大小以顯示全部?jī)?nèi)容。False :(缺省值)保持控件大小不變。超出控件區(qū)域的內(nèi)容被裁剪掉。14WordWrap 屬性該屬性用來(lái)指示一個(gè) AutoSize 屬性設(shè)置為 True 的 Label 控件,是否要進(jìn)行水平或垂直展開(kāi)以適合其 Caption 屬性中指定的文本的要求。其設(shè)置值為:True:文本卷繞;Label 控件垂直展開(kāi)或縮
17、短,以使其與文本和字體大小相適。水平大小不變。False:(缺省值)文本不卷繞;Label 控件水平地展開(kāi)或縮短以使其與文本的長(zhǎng)度相適,并且垂直地展開(kāi)或縮短以使其與字體的大小和文本的行數(shù)相適應(yīng)。15TabIndex屬性該屬性設(shè)置父窗體中大部分對(duì)象在按 tab 鍵時(shí)獲得焦點(diǎn)的次序。在缺省情況下,除 Menu、Timer、Data、Image、Line 和 Shape 控件外,在窗體上畫(huà)控件時(shí) VB會(huì)分配一個(gè) tab 鍵順序。運(yùn)行時(shí),不可見(jiàn)或無(wú)效的控件以及不能接收焦點(diǎn)的控件(Frame 和 Label 控件)仍保持在 tab 鍵順序中,但在切換時(shí)要跳過(guò)這些控件。每個(gè)新控件都放在 tab 鍵順序的最
18、后。如果改變控件的 TabIndex 屬性值來(lái)調(diào)整缺省 tab 鍵順序,Visual Basic 會(huì)自動(dòng)對(duì)其它控件的 TabIndex 屬性重新編號(hào),以反映出插入和刪除操作的影響??梢栽谠O(shè)計(jì)時(shí)用屬性窗口或在運(yùn)行時(shí)用代碼來(lái)作改變TabIndex 屬性。刪除一個(gè)或多個(gè)控件時(shí),可以用 Undo 命令恢復(fù)控件以及除 TabIndex 之外所有的屬性,TabIndex 是不能恢復(fù)的。用 Undo 命令時(shí) TabIndex 被重放在 tab 鍵順序的結(jié)尾。16控件的默認(rèn)值控件的默認(rèn)值是指在運(yùn)行時(shí)可以直接用某個(gè)控件的控件名來(lái)改變控件某個(gè)的屬性值,該屬性稱為該控件的默認(rèn)屬性。文本框、標(biāo)簽、命令按鈕、圖形框與圖
19、片框、單選按鈕、復(fù)選框的默認(rèn)屬性依次為T(mén)ext、Caption、Caption、Picture、Value、Value。因此“Text1.Text= 123”等價(jià)于“Text1= 123”?!癈ommand1.Command=Start”等價(jià)于“Command1=Start”。2.2.3 窗體1窗體的主要屬性2窗體主要事件3主要方法1窗體的主要屬性(1)Caption 屬性(2)MaxButton和MinButton屬性(3)ControlBox屬性(4)Icon 屬性(5)WindowState 屬性2窗體主要事件常用的窗體事件有單擊(Click)、雙擊(DblClick)、裝入(Load)
20、、卸載(Unload)、活動(dòng)(Activate)、非活動(dòng)(Deactivate)、繪畫(huà)(Paint)等。3主要方法窗體上常用的方法有Print、Cls、Move等。2.2.4 文本框控件(TextBox )1主要屬性2主要事件3主要方法1主要屬性(1)Text屬性(2)MaxLength 屬性(3)MultiLine 屬性(4)ScrollBars 屬性(5)Locked屬性(6)SelLength、SelStart、SelText 屬性2主要事件TextBox控件的主要事件有Change、KeyPress等。3主要方法用于文本框的主要方法有SetFocus,用來(lái)將光標(biāo)從其他位置移動(dòng)到文本框中
21、。2.2.5 標(biāo)簽控件(Label)1主要屬性2主要事件1主要屬性Label 控件的主要屬性有:Caption和Font等,前者用來(lái)在控件上顯示文字,后者用來(lái)設(shè)置文字的字體。如果希望 Label 顯示可變長(zhǎng)度的行或變化的行數(shù),需要設(shè)置 AutoSize 和 WordWrap 屬性。2主要事件Label 控件可以接受單擊(Click)、雙擊(DblClick)和改變(Change)事件。但Label 控件的主要作用是顯示文本,一般不需要編寫(xiě)事件過(guò)程代碼。2.2.6 命令按鈕控件(CommandButton)1主要屬性2主要事件1主要屬性(1)Caption屬性(2)Style屬性(3)Defau
22、lt 屬性2主要事件CommandButton 控件的最主要的事件是單擊(Click)事件。2.2.7 常用方法1Print方法2Cls方法3Move方法1Print方法1Print方法Print 方法用于在窗體、圖片框和打印機(jī)上顯示文本。其語(yǔ)法格式為:object.Print outputlist2Cls方法Cls 方法用來(lái)清除運(yùn)行時(shí)窗體或圖片框所生成的圖形和文本。其語(yǔ)法格式為:object.Cls3Move方法Move 方法用于移動(dòng)窗體或控件,并可以改變其大小,其語(yǔ)法格式為:object.Move left, top, width, height其中:object:可選項(xiàng)。表示移動(dòng)窗體或控
23、件。一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略 object,帶有焦點(diǎn)的窗體缺省為 object。Left:必需項(xiàng)。指示 object 左邊的水平坐標(biāo) (x-軸)。Top:可選項(xiàng)。指示 object 頂邊的垂直坐標(biāo) (y-軸)。 Width:可選項(xiàng)。指示 object 新的寬度。Height:可選項(xiàng)。指示 object 新的高度。2.3 VB可視化編程的基本步驟Visual BASIC可視化編程的方法采用的是面向?qū)ο蟮姆椒?,一般?lái)說(shuō)只需要編寫(xiě)簡(jiǎn)單的代碼來(lái)傳遞一些消息即可。其一般編程步驟為:(1)設(shè)計(jì)界面:包括建立窗體和利用控件在窗體上創(chuàng)建各種對(duì)象。(2)設(shè)置對(duì)象的屬性:為建立的
24、窗體和控件等對(duì)象設(shè)置屬性。(3)編寫(xiě)事件驅(qū)動(dòng)代碼:為具體的過(guò)程或事件編寫(xiě)必要的代碼。(4)程序運(yùn)行與調(diào)試(5)保存文件與編譯圖2-8所示為某網(wǎng)上銀行的用戶登錄界面,輸入正確的用戶名和用戶密碼后,即可以進(jìn)一步地打開(kāi)其他窗口進(jìn)行操作。下面以此為例說(shuō)明建立應(yīng)用程序的基本步驟。本例所需控件見(jiàn)表2-3。表2-3 用戶登錄界面控件控件名稱控 件 值說(shuō) 明Label1請(qǐng)勿在網(wǎng)吧等公共場(chǎng)所使用本系統(tǒng)控件背景為透明的,字體為紅色Label2用戶名Label3用戶密碼Text1用于輸入用戶名Text2用于輸入用戶密碼Command1登錄用于登錄操作界面Command2退出用于退出系統(tǒng)Command3用戶管理用于打
25、開(kāi)管理系統(tǒng)界面Command4通訊設(shè)置用于打開(kāi)通訊系統(tǒng)設(shè)置界面圖2-8 新建工程實(shí)例2.3.1 新建工程使用VB開(kāi)發(fā)的應(yīng)用程序或其它程序都稱為工程,選擇工程類型是開(kāi)發(fā)的基礎(chǔ)。在VB啟動(dòng)后,默認(rèn)狀態(tài)下主界面上有如圖1-2“新建工程”對(duì)話框。在“新建”選項(xiàng)中可以選擇新建工程的類型,初學(xué)者一般選擇“標(biāo)準(zhǔn)EXE”。如果沒(méi)有顯示圖1-2所示的對(duì)話框,可以在“文件”菜單中選擇“新建工程”子菜單打開(kāi)該對(duì)話框。進(jìn)入VB的集成開(kāi)發(fā)環(huán)境后,屏幕上將顯示一個(gè)默認(rèn)名為Form1(命名為“用戶登錄”)的窗口,可以在此窗口下設(shè)計(jì)用戶登錄界面。 新建工程后,就可以向窗體添加控件。如添加標(biāo)簽控件具體步驟為:(1) 單擊工具箱
26、中的標(biāo)簽框圖標(biāo),該圖標(biāo)反白顯示;(2) 把鼠標(biāo)指針移到窗體上,此時(shí)鼠標(biāo)指針變?yōu)椤?”號(hào);(3) 把“+”號(hào)移到窗體的適當(dāng)位置,按下鼠標(biāo)左鍵,在窗體上畫(huà)出適當(dāng)大小的矩形框,矩形框中將顯示此標(biāo)簽的默認(rèn)標(biāo)題(Caption)“Label1”,其默認(rèn)名稱也為“Label1”。另外,可以通過(guò)復(fù)制的方法添加控件。圖2-9 創(chuàng)建控件數(shù)組 2.3.2 添加控件用戶界面上每一個(gè)對(duì)象的創(chuàng)建和屬性設(shè)置可以同時(shí)進(jìn)行,也可以添加其他對(duì)象后再設(shè)置屬性值。下面是Label1標(biāo)簽控件的屬性設(shè)置過(guò)程。 圖2-10 屬性標(biāo)題屬性 圖2-11設(shè)置前景色屬性2.3.3 設(shè)置控件屬性(1)單擊Label1標(biāo)簽控件;(2)在屬性窗口的屬
27、性列表框中單擊標(biāo)題屬性(Caption),將其值改為“請(qǐng)勿在網(wǎng)吧等公共場(chǎng)所使用本系統(tǒng)”,參見(jiàn)圖2-10;(3)單擊背景樣式屬性(BackStyle),在屬性值右邊出現(xiàn)下拉按鈕,單擊下拉按鈕,從中選擇屬性值0。(4)單擊前景色屬性(ForeColor),在屬性值右邊出現(xiàn)下拉按鈕,單擊下拉按鈕,從彈出的調(diào)色板窗口選擇“紅色”,參見(jiàn)圖2-11;(5)單擊字體屬性(Font)右邊的“”按鈕,從彈出的字體對(duì)話框中選擇相應(yīng)的字體類型、字體樣式和字體大小等。對(duì)象的位置屬性可以通過(guò)拖動(dòng)對(duì)象直觀地進(jìn)行調(diào)整,也可以在屬性列表框中輸入具體的值。如要求程序運(yùn)行時(shí)窗體“用戶登錄” 處于屏幕中心,可將它們的StartUp
28、Position屬性設(shè)置為“2-屏幕中心”, 要求程序運(yùn)行時(shí)窗口處于最大化,可將它們的“WindowState”值設(shè)置為“2-maximized”。2.3.4 編寫(xiě)代碼過(guò)程代碼是針對(duì)具體的對(duì)象事件編寫(xiě)的。這里,當(dāng)單擊“登錄”按鈕,將顯示“網(wǎng)上銀行用戶操作界面”窗體,同時(shí)隱藏“用戶登錄”窗體。1.打開(kāi)代碼窗口(1)選中“用戶登錄”窗體,在資源管理器窗口中單擊“查看代碼”,打開(kāi)代碼窗口。(2)雙擊“登錄”按鈕直接打開(kāi)該對(duì)象的代碼窗口。 打開(kāi)對(duì)象的代碼窗口后,在事件下拉列表框中選擇相應(yīng)的事件,如“click(單擊)” 。2.編寫(xiě)代碼2.3.5 工程的保存、裝入、運(yùn)行及文件刪除1.工程的保存應(yīng)用程序設(shè)
29、計(jì)過(guò)程中,要隨時(shí)注意保存所作工作。單擊“文件”菜單中的“保存工程組”或單擊工具欄上的“保存工程”按鈕,系統(tǒng)會(huì)自動(dòng)保存所有文件。如果是第一次保存工程,或者選擇了“文件”菜單中的“工程另存為”項(xiàng),集成環(huán)境會(huì)依次幾個(gè)彈出如圖2-12所示的“文件另存為”對(duì)話框,可以根據(jù)圖中“保存類型”框中文件后綴得知將要保存的文件的類型,首先保存的是工程中各窗體文件、模塊文件等,最后提示保存工程文件。本例窗體文件名為frmbank1,工程文件名為netbank。一個(gè)工程可能包括多個(gè)窗體文件、模塊文件等,不同的工程可以引用相同的文件,因而在一個(gè)工程中對(duì)某個(gè)文件的修改會(huì)影響到引用該文件的其他工程,為了避免這種影響,可以在
30、資源管理器中選定該文件的圖標(biāo),如窗體文件frmbank1.frm,然后單擊“文件”菜單下的“frmbank1.frm另存為”命令,將該文件換名保存(或換文件夾保存)。2.工程的裝入在VB的集成開(kāi)發(fā)環(huán)境下,可以隨時(shí)裝入工程。裝入工程時(shí),只要裝入工程文件(.vbp),其他文件會(huì)自動(dòng)裝入。如要裝入“netbank”工程,可單擊“文件”菜單中的“打開(kāi)工程”項(xiàng),打開(kāi)“打開(kāi)工程”對(duì)話框,單擊“最新”選項(xiàng)卡顯示最近創(chuàng)建的工程,雙擊“netbank”文件名即可。參見(jiàn)圖2-13。如果在“最新”選項(xiàng)卡和“現(xiàn)存”選項(xiàng)卡中都不能找到所需工程,則可以在其他文件夾中瀏覽。 圖2-12 “文件另存為”對(duì)話框 圖2-13 工
31、程的裝載3. 運(yùn)行工程運(yùn)行工程有兩種方式,一種是解釋運(yùn)行方式,一種是生成可執(zhí)行文件(EXE文件)。(1)解釋運(yùn)行解釋運(yùn)行是在解釋運(yùn)行模式下運(yùn)行程序,在此方式下,解釋器每讀完一行代碼,就將其轉(zhuǎn)換為機(jī)器代碼(微處理器指令),然后執(zhí)行這些命令。(2)編譯運(yùn)行編譯運(yùn)行模式不屬于VB模式,而是應(yīng)用程序運(yùn)行模式。VB在對(duì)程序進(jìn)行編譯時(shí),將每個(gè)語(yǔ)句解釋并轉(zhuǎn)換為微處理指令,將這些指令保存在可執(zhí)行文件(EXE文件)中,在程序執(zhí)行時(shí),沒(méi)有必要再解釋源語(yǔ)句,運(yùn)行速度快。圖2-14 “工程屬性”對(duì)話框之“編譯”選項(xiàng)卡在“編譯”選項(xiàng)卡中進(jìn)行設(shè)置后,就可以編譯工程。編譯工程是使工程能夠在Windows環(huán)境下運(yùn)行的必要步驟
32、。如編譯netbank工程的步驟為:(1)單擊“文件”菜單中的“生成netbank.exe”項(xiàng),顯示如圖2-15 對(duì)話框;(2)在“生成工程”對(duì)話框中,“文件名”框?yàn)樯煽蓤?zhí)行文件的名字,默認(rèn)為與工程文件名相同,也可以鍵入新的文件名。(3)單擊“確定”按鈕,完成可執(zhí)行文件的生成。生成的可執(zhí)行文件同其他Windows應(yīng)用程序一樣,可在Windows環(huán)境下直接運(yùn)行。 圖2-15 “生成工程”對(duì)話框 4.文件刪除可以在工程資源管理器窗口選擇文件,然后單擊右鍵,選擇快捷菜單中的“移去”命令從工程中刪除該文件,但這種操作只是解除了移去的文件與當(dāng)前工程的聯(lián)系,文件仍然保留在磁盤(pán)上。如果直接在磁盤(pán)上刪除工程
33、中的某個(gè)文件,在打開(kāi)該工程時(shí),將會(huì)顯示文件丟失的出錯(cuò)信息,參見(jiàn)圖2-16,單擊圖中的“是”將繼續(xù)加載該工程,但不會(huì)顯示刪除的窗體。如果在磁盤(pán)上對(duì)工程中的某個(gè)文件重新命名,也會(huì)出現(xiàn)相同的出錯(cuò)信息。可以有兩個(gè)方法解決這一問(wèn)題。一是用文本編輯器(如記事本)打開(kāi)工程文件(在磁盤(pán)上選擇“netbank.vbp”,單擊右鍵,選擇“打開(kāi)方式”,打開(kāi)“打開(kāi)方式”對(duì)話框,選擇“記事本”),參見(jiàn)圖2-17,將“Form= frmbank1.frm”改為 “Form= frmbanktemp.frm”即可。圖2-16 對(duì)不到窗體文件時(shí)顯示的出錯(cuò)信息圖2-17 在文本編輯器中修改工程文件2.4 Visual BASI
34、C應(yīng)用程序的結(jié)構(gòu)與工作方式 一個(gè)Visual BASIC應(yīng)用程序(或者說(shuō)一個(gè)工程)通常由三類模塊組成:窗體模塊、標(biāo)準(zhǔn)模塊和類模塊。一個(gè)工程的全部文件參見(jiàn)表2-3。 1.窗體模塊 由于 Visual Basic 應(yīng)用程序是基于對(duì)象的,所以應(yīng)用程序的代碼結(jié)構(gòu)就是該程序在屏幕上物理表示的模型。根據(jù)定義,對(duì)象包含數(shù)據(jù)和代碼。窗體是由其屬性規(guī)定的,這些屬性定義了窗體的外觀和內(nèi)在特性。每個(gè)應(yīng)用程序可以包含一個(gè)或多個(gè)窗體模塊(文件擴(kuò)展名為 .frm ),每個(gè)窗體模塊都有一個(gè)作為用戶界面的窗體和執(zhí)行具體操作的代碼窗口。每個(gè)窗體上可以包含若干個(gè)控件,每個(gè)控件都可以有其相應(yīng)的事件過(guò)程集。此外每個(gè)窗體模塊還可以包含
35、能夠被窗體中任何事件過(guò)程調(diào)用的 2.4.1 Visual BASIC應(yīng)用程序的結(jié)構(gòu)2.標(biāo)準(zhǔn)模塊標(biāo)準(zhǔn)模塊(文件擴(kuò)展名為 .bas )完全由與特定窗體或控件無(wú)關(guān)的代碼組成的模塊。如果一個(gè)過(guò)程用來(lái)響應(yīng)幾個(gè)不同對(duì)象中的事件,則可將這個(gè)過(guò)程放在標(biāo)準(zhǔn)模塊中,而沒(méi)有必要在每一個(gè)對(duì)象的事件過(guò)程中重復(fù)相同的代碼。在標(biāo)準(zhǔn)模塊中可以聲明能夠被任何模塊使用的全局變量,可以定義函數(shù)過(guò)程或子程序過(guò)程。3.類模塊類模塊(文件擴(kuò)展名為 .cls )用來(lái)創(chuàng)建對(duì)象,這些對(duì)象可被應(yīng)用程序內(nèi)的過(guò)程調(diào)用。標(biāo)準(zhǔn)模塊只包含代碼,而類模塊既包含代碼又包含數(shù)據(jù),可視為沒(méi)有物理表示的控件。擴(kuò)展名說(shuō) 明.vbp跟蹤所有部件的工程文件.frm窗體模
36、塊文件,包含窗體及其控件的正文描述,包括它們的屬性設(shè)置,也含有窗體級(jí)的常數(shù)、變量和外部過(guò)程(事件過(guò)程和一般過(guò)程)的聲明.frx每個(gè)窗體的二進(jìn)制數(shù)據(jù)文件,它含有窗體上控件的屬性數(shù)據(jù)。對(duì)含有二進(jìn)制屬性(例如圖片或圖標(biāo))的任何.frm文件都是不可編輯的,這些文件都是自動(dòng)產(chǎn)生的.cls類模塊文件,與窗體模塊類似,但沒(méi)有可見(jiàn)的用戶界面。可以使用類模塊創(chuàng)建含有方法和屬性代碼的自己的對(duì)象。該文件是可選項(xiàng) .bas標(biāo)準(zhǔn)模塊文件,可以包含類型、常數(shù)、變量、外部過(guò)程和公共過(guò)程的公共的或模塊級(jí)的聲明。該文件是可選項(xiàng).ocxActiveX控件文件,它可以被添加到工具箱中并在窗體里使用。當(dāng)安裝VB時(shí),VB包含有控件的那
37、些文件被復(fù)制到一個(gè)公共目錄(Windows9598/2000下面的子目錄windowssystem中)。可以從多種途徑取得附加的ActiveX控件。也可以使用VB專業(yè)版和企業(yè)版創(chuàng)建自己的控件。該文件是可選項(xiàng).res資源文件,包含著無(wú)需重新編輯代碼便可以改變的位圖、字符串和其他數(shù)據(jù)。例如,如果計(jì)劃用一種外語(yǔ)將應(yīng)用程序本地化,可以將用戶界面的全部正文串和位圖存放在資源文件里,然后將資源文件本地化,而不是將整個(gè)應(yīng)用程序本地化。一個(gè)工程最多包含一個(gè)資源文件。該文件是可選項(xiàng)表2-3 一個(gè)工程的全部文件2.4.2 Visual BASIC應(yīng)用程序的工作方式1.Windows 的工作方式Visual Bas
38、ic 是 Windows 開(kāi)發(fā)語(yǔ)言,與 Windows 環(huán)境保持一定的相似性。Windows 的工作機(jī)制,簡(jiǎn)言之就是三個(gè)關(guān)鍵的概念:窗口、事件和消息。Microsoft Windows 操作系統(tǒng)通過(guò)給每一個(gè)窗口指定一個(gè)唯一的標(biāo)識(shí)號(hào)(窗口句柄或 hWnd)來(lái)管理所有的窗口。操作系統(tǒng)連續(xù)地監(jiān)視每一個(gè)窗口的活動(dòng)或事件的信號(hào)。事件可以通過(guò)諸如單擊鼠標(biāo)或按下按鍵的操作而產(chǎn)生,也可以通過(guò)程序的控制而產(chǎn)生,甚至可以由另一個(gè)窗口的操作而產(chǎn)生。每發(fā)生一次事件,將引發(fā)一條消息發(fā)送至操作系統(tǒng)。操作系統(tǒng)處理該消息并廣播給其它窗口。然后,每一個(gè)窗口才能根據(jù)自身處理該條消息的指令而采取適當(dāng)?shù)牟僮鳎ɡ?,?dāng)窗口解除了其它窗
39、口的覆蓋時(shí),重顯自身窗口)。選擇“工具|選項(xiàng)”菜單,打開(kāi)如圖2-20所示的“選項(xiàng)”對(duì)話框,對(duì)各項(xiàng)功能進(jìn)行設(shè)置。在“選項(xiàng)”對(duì)話框中有六個(gè)選項(xiàng)卡,用戶可以根據(jù)需要對(duì)編輯器、編輯器格式、環(huán)境等進(jìn)行設(shè)置。 圖2-20 “選項(xiàng)”對(duì)話框之“編輯器”選項(xiàng)卡 2.5 工作環(huán)境設(shè)置與程序調(diào)試1.“編輯器”選項(xiàng)卡其作用是指定代碼窗口和工程窗口設(shè)置值。(1)“代碼設(shè)置”區(qū)1)“自動(dòng)語(yǔ)法檢測(cè)”復(fù)選框 選中該復(fù)選框后,用戶如果完成一行程序代碼的輸入,轉(zhuǎn)到其他行時(shí),VB會(huì)自動(dòng)對(duì)此行程序代碼進(jìn)行語(yǔ)法檢查,一旦出現(xiàn)語(yǔ)法錯(cuò)誤,就會(huì)彈出一個(gè)消息框,提示用戶出錯(cuò)信息,如果沒(méi)有選中該復(fù)選框,出現(xiàn)語(yǔ)法錯(cuò)誤時(shí),將不顯示消息框,但還是會(huì)將
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度勞動(dòng)合同期限與績(jī)效考核結(jié)果關(guān)聯(lián)合同
- 二零二五年度合同解除后債務(wù)重組協(xié)議
- 二零二五年度咖啡連鎖店加盟經(jīng)營(yíng)合同
- 2025年度餐飲行業(yè)跨界投資入股合同
- 二零二五大連市土地租賃與共同投資合同
- 2025年度知識(shí)產(chǎn)權(quán)法律事務(wù)全面咨詢服務(wù)合同
- 2025年度甲方認(rèn)可乙方為轉(zhuǎn)租方的合作合同協(xié)議
- 二零二五年度高科技園區(qū)經(jīng)營(yíng)場(chǎng)地租賃合同
- 臨聘人員2025年度勞動(dòng)合同模板定制與解析
- 2025年度玉米種植基地建設(shè)與收購(gòu)合作合同
- JJF1059.1測(cè)量不確定度評(píng)定培訓(xùn)講演稿
- 緩解抑郁和焦慮的心理技巧
- 疼痛科門(mén)診小針刀療法知情同意書(shū)
- 質(zhì)量驗(yàn)廠報(bào)告
- 肝門(mén)膽管惡性腫瘤的護(hù)理查房
- 燒傷病人查房版
- 《發(fā)行債券》課件
- 校企合作模式下的高職院校人才培養(yǎng)研究
- 二房東可行性方案計(jì)劃書(shū)
- 環(huán)境設(shè)計(jì)就業(yè)需求分析報(bào)告
- GJB24891995航空機(jī)載設(shè)備履歷本及產(chǎn)品合格證編制要求
評(píng)論
0/150
提交評(píng)論