版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
3.1VB可視化編程的基本概念
對象是具有特殊屬性(數(shù)據(jù))的行為方式(方法)的實體。在VB環(huán)境中所涉及到的窗體、控件、部件和菜單項等均為對象,程序員既可以利用控件來創(chuàng)建對象,也可以設(shè)計自己的對象。在窗體上創(chuàng)建對象時,可以單擊工具箱上要創(chuàng)建的對象圖標(biāo),然后在窗體上合適位置畫出對象來。初步建立的對象只是一個“空對象”,其操作需要通過對該對象有關(guān)的屬性、事件和方法進行描述。除了通過窗體、控件、部件和菜單項等創(chuàng)建控件對象外,VB還提供了系統(tǒng)對象,如打印機(Printer)、剪貼板(Clipboard)和屏幕(Screen)等。有關(guān)對象的創(chuàng)建方法參見本章2.3節(jié)。3.1.1VisualBASIC對象的概念1.對象的屬性
對象的屬性可以看作是它的一些性質(zhì),其中包括可見的和不可見的??梢姷膶傩匀鐚ο蟮拇笮?、形狀和顏色等;不可見的屬性如對象的生存期等。3.1.2對象的屬性、事件和方法屬性窗口2.對象的事件
事件就是對象上所發(fā)生的事情,是指對象所接受的某些外部影響。事件是預(yù)先定義好的、能夠被對象識別的動作。事件過程:可以通過一段程序代碼來響應(yīng)某個具體事件所執(zhí)行的操作,這段程序代碼即為事件過程。對象的事件與方法3.對象的方法
方法就是要執(zhí)行的動作,是系統(tǒng)提供的一種特殊函數(shù)或過程,用于完成某種特定功能而不能響應(yīng)某個事件。如對象打印方法(Print)顯示窗體方法(Show)移動方法(Move)等對象的方法是固有的,在開發(fā)應(yīng)用程序時,可以對編程中使用到的對象的方法進行調(diào)用,但是不能對它們進行編輯和修改。開發(fā)應(yīng)用程序時,對象的方法都是在程序中編寫代碼進行調(diào)用的。方法只在程序代碼中使用。方法的操作與過程和函數(shù)的操作相同,但要注意方法是特定對象的一部分,正如屬性和事件是對象的一部分一樣
3.2窗體和最基本的控件3.2.1VisualBASIC的控件種類3.2.2對象的基本屬性3.2.3窗體3.2.4文本框控件(TextBox
)3.2.5標(biāo)簽控件(Label)3.2.6命令按鈕控件(CommandButton)
1.內(nèi)部控件內(nèi)部控件又稱標(biāo)準(zhǔn)控件,在默認狀態(tài)下工具箱中顯示的控件都是內(nèi)部控件,這些控件由VisualBASIC的EXE文件提供,不能進行刪除和添加操作。命令按鈕、文本框和復(fù)選框等都屬于內(nèi)部控件。2.ActiveX控件為了方便用戶設(shè)計功能強大的復(fù)雜應(yīng)用程序,VB和第三開發(fā)商提供了大量的ActiveX控件。ActiveX控件是四種ActiveX部件之一。ActiveX部件是可以重復(fù)使用的編程代碼和數(shù)據(jù),是由ActiveX技術(shù)創(chuàng)建的一個或多個對象所組成的、以.ocx為擴展名的獨立文件。控件種類1.內(nèi)部控件2.ActiveX控件3.可插入對象3.2.1VisualBASIC的控件種類3.可插入對象可插入對象是Windows應(yīng)用程序的對象,如MicrosoftWord文檔、AutoCADDrawing等??梢詫⒖刹迦雽ο筇砑拥焦ぞ呦渲?,象使用標(biāo)準(zhǔn)控件一樣使用。內(nèi)部控件內(nèi)部控件與ActiveX控件表3-2VisualBasic內(nèi)部控件的作用編號名
稱作
用1Pointer(指針)這并不是一個控件,但只有選定指針后,才能改變窗體的位置和大小2PictureBox(圖片框)用于顯示圖像(包括圖片和文本),可以裝入位圖、圖標(biāo)以及.wmf、,jpg、..gif等各種圖形格式的文件,也可作為其他控件的載體,即父控件3Label(標(biāo)簽)用來顯示文本信息,但不能輸入文本4TextBox(文本框)既可輸入也可輸出文本,并可對文本進行編輯5Frame(框架)組合相關(guān)的對象,將性質(zhì)相同的控件集中一起6CommandButton(命令按鈕)用于向VisualBASIC應(yīng)用程序發(fā)出命令,單擊該按鈕將執(zhí)行指定的操作7CheckBox(復(fù)選框)用于多重選擇,也稱檢查框8OptionButton(單選按鈕)用于表示單選的開關(guān)狀態(tài),也稱錄音機按鈕9ComboBox(組合框)創(chuàng)建組合框或下拉列表框?qū)ο螅脩艨梢詮牧斜碇羞x擇一項或人工輸入一個值10ListBox(列表框)用于顯示可供用戶選擇的固定列表11HscrollBox(水平滾動條)用于表示在一定范圍內(nèi)的數(shù)值選擇。常放在列表框或文本框中用來瀏覽信息,或用來設(shè)置數(shù)值輸入12VscrollBox(垂直滾動條)用于表示在一定范圍內(nèi)的數(shù)值選擇。常放在列表框或文本框中用來瀏覽信息,或用來設(shè)置數(shù)值輸入13Timer(計時器)在給定的時間間隔內(nèi)捕捉計時器事件,此控件在運行時不可見14DriveListBox(驅(qū)動器列表框)顯示當(dāng)前系統(tǒng)中可用的驅(qū)動器列表供用戶選擇15DirListBox(目錄列表框)顯示當(dāng)前驅(qū)動器磁盤上目錄列表供用戶選擇16FileListBox(文件列表框)顯示當(dāng)前目錄中的文件名列表供用戶選擇17Shape(形狀)設(shè)計時用于在窗體中繪制矩形、圓等幾何圖形18Line(直線)設(shè)計時在窗體中繪制直線19Image(圖像框)顯示一個位圖式圖像,可作為背景或裝飾的圖像元素,單擊時其動作類似于命令按鈕20Data(數(shù)據(jù))用來連接數(shù)據(jù)庫,并可在窗體的其他控件中顯示數(shù)據(jù)庫信息21OLEContainer(OLE容器)用于對象的連接與嵌入3.2.2對象的基本屬性1.Name屬性2.Caption屬性3.Enabled屬性4.Visible屬性5.Font屬性6.Height、Width、Top和Left屬性7.顏色屬性8.背景樣式屬性(BackStyle)9.邊框樣式屬性(BorderStyle
)10.MousePointer
屬性11.MouseIcon
屬性12.Alignment屬性13.AutoSize
屬性14.WordWrap
屬性15.TabIndex屬性16.控件的默認值
1.Name屬性用于標(biāo)識窗體、控件、或數(shù)據(jù)訪問對象的名字。在運行時是只讀的。新控件的缺省名字由控件默認名稱加上一個唯一的整數(shù)組成。2.Caption屬性用于標(biāo)識一個對象活動窗口標(biāo)題的字符串??梢允褂肅aption屬性賦予控件一個訪問鍵。在標(biāo)題中,在想要指定為訪問鍵的字符前加一個(&)符號。該字符就帶有一個下劃線。同時按下ALT鍵和帶下劃線的字符就可把焦點移動到那個控件上。為了在標(biāo)題中加入一個(&)符號而不是創(chuàng)建訪問鍵,需要在標(biāo)題中加入兩個即(&&)符號。這樣,在標(biāo)題中只有單個(&)符號被顯示而沒有帶下劃線的字符。3.Enabled屬性
用來確定一個窗體或控件是否能夠?qū)τ脩舢a(chǎn)生的事件作出反應(yīng)。其值為邏輯值True或False。Enabled屬性允許在運行時使窗體和控件成為有效或無效。例如,可以使對象成為不能用于應(yīng)用程序的當(dāng)前狀態(tài)的無效狀態(tài)。也可以使之純粹用來顯示,比如使文本框控件無效,從而提供只讀的文本信息。5.Font屬性為指定對象上顯示的文本設(shè)置字體屬性,包括字體(FontName)、字號(FontSize)、字形(FontBold、FontItalic)等。4.Visible屬性為指定對象設(shè)置為可見或隱藏的值,其值為邏輯值True或False6.Height、Width、Top和Left屬性在窗體上設(shè)計控件時,VB提供了默認的坐標(biāo)系統(tǒng)。窗體左上角為坐標(biāo)原點,上邊框為坐標(biāo)橫軸,左邊框為坐標(biāo)縱軸,坐標(biāo)單位為緹(twip),1twip=1/20點=1/1440英寸=1/567厘米。Height和Width用來決定控件的高度和寬度,Top和Left屬性決定了控件在窗體中的位置,Top屬性決定控件到窗體頂部的距離,Left屬性決定了控件到窗體左邊框的距離。對窗體而言,Top屬性決定窗體到屏幕頂部的距離,Left屬性決定了窗體到屏幕左邊的距離。7.顏色屬性(1)背景顏色屬性(BackColor):用于設(shè)置控件正文之外的顏色。如果在繪圖方法進行繪圖之后改變BackColor
屬性,則已有的圖形將會被新的背景顏色所覆蓋。用戶可以在調(diào)色板中選擇顏色。(2)前景顏色屬性(ForeColor):用于設(shè)置控件的正文顏色。改變ForeColor屬性不影響已創(chuàng)建的文本或圖形。用戶可以在調(diào)色板中選擇顏色。(3)邊框顏色屬性(BorderColor):返回或設(shè)置對象的邊框顏色。(4)填充顏色屬性(FillColor):用來設(shè)置填充形狀的顏色,也可以用來為用Circle方法創(chuàng)建的圓和用Line方法創(chuàng)建的方框設(shè)置填充顏色。8.背景樣式屬性(BackStyle)它指定標(biāo)簽控件或形狀控件的背景是透明的還是非透明的。0:透明,在控件后的背景色和任何圖片都是可見的。1:缺省值,非透明,用控件的BackColor
屬性設(shè)置值填充該控件,并隱藏該控件后面的所有顏色和圖片。9.邊框樣式屬性(BorderStyle
)用來設(shè)置對象的邊框樣式。對Form對象和Textbox控件在運行時是只讀的。Form對象的BorderStyle
屬性設(shè)置值如下0:無(沒有邊框或與邊框相關(guān)的元素)。1:固定單邊框。可以包含控制菜單框,標(biāo)題欄,“最大化”按鈕,和“最小化”按鈕。只有使用最大化和最小化按鈕才能改變大小。2:(缺省值)可調(diào)整的邊框??梢允褂迷O(shè)置值1列出的任何可選邊框元素重新改變尺寸。3:固定對話框??梢园刂撇藛慰蚝蜆?biāo)題欄,不能包含最大化和最小化按鈕,不能改變尺寸。4:固定工具窗口。不能改變尺寸。顯示關(guān)閉按鈕并用縮小的字體顯示標(biāo)題欄。窗體在Windows95的任務(wù)條中不顯示。5:可變尺寸工具窗口。可變大小。顯示關(guān)閉按鈕并用縮小的字體顯示標(biāo)題欄。窗體在Windows95的任務(wù)條中不顯示10.MousePointer
屬性用來設(shè)置在運行時,當(dāng)鼠標(biāo)移動到對象的一個特定部分時,被顯示的鼠標(biāo)指針的類型。設(shè)置值的范圍一般在0~15之間。下面是幾種常用的設(shè)置值:0:缺省值,形狀由對象決定。1:箭頭。2:十字線。3:I型11:沙漏(表示等待狀態(tài))。99:通過MouseIcon
屬性所指定的自定義圖標(biāo)。11.MouseIcon
屬性用來設(shè)置自定義的鼠標(biāo)圖標(biāo),圖標(biāo)文件類型為.ico或.cur,圖標(biāo)文件在安裝目錄的Graphics文件夾中。該屬性在MousePointer
屬性值為99時有效。12.Alignment屬性該屬性決定CheckBox
或OptionButton
控件、控件中的文本的對齊方式。對CheckBox、OptionButton
和TextBox
控件在運行時為只讀。對CheckBox
和OptionButton
控件,Alignment屬性的設(shè)置值為:0:(缺省值)文本是左對齊的,控件是右對齊的。1:文本右對齊,控件左對齊。對Label和TextBox
控件,Alignment屬性的設(shè)置值為:0:(缺省值)文本左對齊。1:文本右對齊2:文本居中13.AutoSize
屬性該屬性決定控件是否具有自動改變大小以顯示其全部內(nèi)容的功能。其設(shè)置值為:True:自動改變控件大小以顯示全部內(nèi)容。False:(缺省值)保持控件大小不變。超出控件區(qū)域的內(nèi)容被裁剪掉。14.WordWrap
屬性該屬性用來指示一個AutoSize
屬性設(shè)置為True的Label控件,是否要進行水平或垂直展開以適合其Caption屬性中指定的文本的要求。其設(shè)置值為:True:文本卷繞;Label控件垂直展開或縮短,以使其與文本和字體大小相適。水平大小不變。False:(缺省值)文本不卷繞;Label控件水平地展開或縮短以使其與文本的長度相適,并且垂直地展開或縮短以使其與字體的大小和文本的行數(shù)相適應(yīng)。15.TabIndex屬性該屬性設(shè)置父窗體中大部分對象在按tab鍵時獲得焦點的次序。在缺省情況下,除Menu、Timer、Data、Image、Line和Shape控件外,在窗體上畫控件時VB會分配一個tab鍵順序。運行時,不可見或無效的控件以及不能接收焦點的控件(Frame和Label控件)仍保持在tab鍵順序中,但在切換時要跳過這些控件。每個新控件都放在tab鍵順序的最后。如果改變控件的TabIndex
屬性值來調(diào)整缺省tab鍵順序,VisualBasic會自動對其它控件的TabIndex
屬性重新編號,以反映出插入和刪除操作的影響??梢栽谠O(shè)計時用屬性窗口或在運行時用代碼來作改變TabIndex
屬性。刪除一個或多個控件時,可以用Undo命令恢復(fù)控件以及除TabIndex
之外所有的屬性,TabIndex
是不能恢復(fù)的。用Undo命令時TabIndex
被重放在tab鍵順序的結(jié)尾。16.控件的默認值控件的默認值是指在運行時可以直接用某個控件的控件名來改變控件某個的屬性值,該屬性稱為該控件的默認屬性。文本框、標(biāo)簽、命令按鈕、圖形框與圖片框、單選按鈕、復(fù)選框的默認屬性依次為Text、Caption、Caption、Picture、Value、Value。因此“Text1.Text="123"”等價于“Text1="123"”?!癈ommand1.Command="Start"”等價于“Command1="Start"”。3.2.3窗體1.窗體主要事件2.主要方法3.窗體的主要屬性(1)Caption屬性(2)MaxButton和MinButton屬性(3)ControlBox屬性(4)Icon屬性(5)WindowState屬性1.窗體常用主要事件有:
單擊(Click)雙擊(DblClick)裝入(Load)卸載(Unload)活動(Activate)非活動(Deactivate)繪畫(Paint)等。2.主要方法窗體上常用的方法有Print、Cls、Move等。3.2.4文本框控件(TextBox
)1.主要屬性(1)Text屬性(2)MaxLength屬性(3)MultiLine屬性(4)ScrollBars屬性(5)Locked屬性(6)SelLength、SelStart、SelText屬性2.主要事件TextBox控件的主要事件有Change、KeyPress等。3.主要方法用于文本框的主要方法有SetFocus,用來將光標(biāo)從其他位置移動到文本框中。3.2.5標(biāo)簽控件(Label)1.主要屬性2.主要事件1.主要屬性Label控件的主要屬性有:Caption和Font等,前者用來在控件上顯示文字,后者用來設(shè)置文字的字體。如果希望Label顯示可變長度的行或變化的行數(shù),需要設(shè)置AutoSize
和WordWrap
屬性。2.主要事件Label控件可以接受單擊(Click)、雙擊(DblClick)和改變(Change)事件。但Label控件的主要作用是顯示文本,一般不需要編寫事件過程代碼。3.2.6命令按鈕控件(CommandButton)1.主要屬性2.主要事件1.主要屬性(1)Caption屬性(2)Style屬性(3)Default屬性2.主要事件CommandButton
控件的最主要的事件是單擊(Click)事件。3.2.7常用方法1.Print方法2.Cls方法3.Move方法1.Print方法Print方法用于在窗體、圖片框和打印機上顯示文本。其語法格式為:
object.Print[outputlist]2.Cls方法Cls
方法用來清除運行時窗體或圖片框所生成的圖形和文本。其語法格式為:object.Cls3.Move方法Move方法用于移動窗體或控件,并可以改變其大小,其語法格式為:object.Moveleft,top,width,height其中:object:可選項。表示移動窗體或控件。一個對象表達式,其值為“應(yīng)用于”列表中的一個對象。如果省略object,帶有焦點的窗體缺省為object。Left:必需項。指示object左邊的水平坐標(biāo)(x-軸)。Top:可選項。指示object頂邊的垂直坐標(biāo)(y-軸)。Width:可選項。指示object新的寬度。Height:可選項。指示object新的高度。3.3VB可視化編程的基本步驟VisualBASIC可視化編程的方法采用的是面向?qū)ο蟮姆椒?,一般來說只需要編寫簡單的代碼來傳遞一些消息即可。其一般編程步驟為:(1)設(shè)計界面:包括建立窗體和利用控件在窗體上創(chuàng)建各種對象。(2)設(shè)置對象的屬性:為建立的窗體和控件等對象設(shè)置屬性。(3)編寫事件驅(qū)動代碼:為具體的過程或事件編寫必要的代碼。(4)程序運行與調(diào)試(5)保存文件與編譯某網(wǎng)上銀行的用戶登錄界面,輸入正確的用戶名和用戶密碼后,即可以進一步地打開其他窗口進行操作。下面以此為例說明建立應(yīng)用程序的基本步驟。本例所需控件見表2-3。表3-3用戶登錄界面控件控件名稱控
件
值說
明Label1請勿在網(wǎng)吧等公共場所使用本系統(tǒng)控件背景為透明的,字體為紅色Label2用戶名Label3用戶密碼Text1用于輸入用戶名Text2用于輸入用戶密碼Command1登錄用于登錄操作界面Command2退出用于退出系統(tǒng)Command3用戶管理用于打開管理系統(tǒng)界面Command4通訊設(shè)置用于打開通訊系統(tǒng)設(shè)置界面圖2-8新建工程實例3.3.1新建工程
使用VB開發(fā)的應(yīng)用程序或其它程序都稱為工程,選擇工程類型是開發(fā)的基礎(chǔ)。在VB啟動后,默認狀態(tài)下主界面上有如圖1-2“新建工程”對話框。在“新建”選項中可以選擇新建工程的類型,初學(xué)者一般選擇“標(biāo)準(zhǔn)EXE”。如果沒有顯示圖1-2所示的對話框,可以在“文件”菜單中選擇“新建工程”子菜單打開該對話框。進入VB的集成開發(fā)環(huán)境后,屏幕上將顯示一個默認名為Form1(命名為“用戶登錄”)的窗口,可以在此窗口下設(shè)計用戶登錄界面。新建工程后,就可以向窗體添加控件。如添加標(biāo)簽控件具體步驟為:(1)單擊工具箱中的標(biāo)簽框圖標(biāo),該圖標(biāo)反白顯示;(2)把鼠標(biāo)指針移到窗體上,此時鼠標(biāo)指針變?yōu)椤?”號;(3)把“+”號移到窗體的適當(dāng)位置,按下鼠標(biāo)左鍵,在窗體上畫出適當(dāng)大小的矩形框,矩形框中將顯示此標(biāo)簽的默認標(biāo)題(Caption)“Label1”,其默認名稱也為“Label1”。另外,可以通過復(fù)制的方法添加控件。圖2-9創(chuàng)建控件數(shù)組3.3.2添加控件用戶界面上每一個對象的創(chuàng)建和屬性設(shè)置可以同時進行,也可以添加其他對象后再設(shè)置屬性值。下面是Label1標(biāo)簽控件的屬性設(shè)置過程。
圖2-10屬性標(biāo)題屬性圖2-11設(shè)置前景色屬性3.3.3設(shè)置控件屬性(1)單擊Label1標(biāo)簽控件;(2)在屬性窗口的屬性列表框中單擊標(biāo)題屬性(Caption),將其值改為“請勿在網(wǎng)吧等公共場所使用本系統(tǒng)”,參見圖2-10;(3)單擊背景樣式屬性(BackStyle),在屬性值右邊出現(xiàn)下拉按鈕,單擊下拉按鈕,從中選擇屬性值0。(4)單擊前景色屬性(ForeColor),在屬性值右邊出現(xiàn)下拉按鈕,單擊下拉按鈕,從彈出的調(diào)色板窗口選擇“紅色”,參見圖2-11;(5)單擊字體屬性(Font)右邊的“”按鈕,從彈出的字體對話框中選擇相應(yīng)的字體類型、字體樣式和字體大小等。對象的位置屬性可以通過拖動對象直觀地進行調(diào)整,也可以在屬性列表框中輸入具體的值。如要求程序運行時窗體“用戶登錄”處于屏幕中心,可將它們的StartUpPosition屬性設(shè)置為“2-屏幕中心”,要求程序運行時窗口處于最大化,可將它們的“WindowState”值設(shè)置為“2-maximized”。3.3.4編寫代碼過程代碼是針對具體的對象事件編寫的。這里,當(dāng)單擊“登錄”按鈕,將顯示“網(wǎng)上銀行用戶操作界面”窗體,同時隱藏“用戶登錄”窗體。1.打開代碼窗口(1)選中“用戶登錄”窗體,在資源管理器窗口中單擊“查看代碼”,打開代碼窗口。(2)雙擊“登錄”按鈕直接打開該對象的代碼窗口。打開對象的代碼窗口后,在事件下拉列表框中選擇相應(yīng)的事件,如“click(單擊)”。2.編寫代碼3.3.5工程的保存、裝入、運行及文件刪除1.工程的保存應(yīng)用程序設(shè)計過程中,要隨時注意保存所作工作。單擊“文件”菜單中的“保存工程組”或單擊工具欄上的“保存工程”按鈕,系統(tǒng)會自動保存所有文件。如果是第一次保存工程,或者選擇了“文件”菜單中的“工程另存為”項,集成環(huán)境會依次幾個彈出如圖2-12所示的“文件另存為”對話框,可以根據(jù)圖中“保存類型”框中文件后綴得知將要保存的文件的類型,首先保存的是工程中各窗體文件、模塊文件等,最后提示保存工程文件。本例窗體文件名為frmbank1,工程文件名為netbank。一個工程可能包括多個窗體文件、模塊文件等,不同的工程可以引用相同的文件,因而在一個工程中對某個文件的修改會影響到引用該文件的其他工程,為了避免這種影響,可以在資源管理器中選定該文件的圖標(biāo),如窗體文件frmbank1.frm,然后單擊“文件”菜單下的“frmbank1.frm另存為”命令,將該文件換名保存(或換文件夾保存)。2.工程的裝入在VB的集成開發(fā)環(huán)境下,可以隨時裝入工程。裝入工程時,只要裝入工程文件(.vbp),其他文件會自動裝入。如要裝入“netbank”工程,可單擊“文件”菜單中的“打開工程”項,打開“打開工程”對話框,單擊“最新”選項卡顯示最近創(chuàng)建的工程,雙擊“netbank”文件名即可。參見圖2-13。如果在“最新”選項卡和“現(xiàn)存”選項卡中都不能找到所需工程,則可以在其他文件夾中瀏覽。
圖2-12“文件另存為”對話框圖2-13工程的裝載3.運行工程運行工程有兩種方式,一種是解釋運行方式,一種是生成可執(zhí)行文件(EXE文件)。(1)解釋運行解釋運行是在解釋運行模式下運行程序,在此方式下,解釋器每讀完一行代碼,就將其轉(zhuǎn)換為機器代碼(微處理器指令),然后執(zhí)行這些命令。(2)編譯運行編譯運行模式不屬于VB模式,而是應(yīng)用程序運行模式。VB在對程序進行編譯時,將每個語句解釋并轉(zhuǎn)換為微處理指令,將這些指令保存在可執(zhí)行文件(EXE文件)中,在程序執(zhí)行時,沒有必要再解釋源語句,運行速度快。圖3-14“工程屬性”對話框之“編譯”選項卡在“編譯”選項卡中進行設(shè)置后,就可以編譯工程。編譯工程是使工程能夠在Windows環(huán)境下運行的必要步驟。如編譯netbank工程的步驟為:(1)單擊“文件”菜單中的“生成netbank.exe”項,顯示如圖2-15對話框;(2)在“生成工程”對話框中,“文件名”框為生成可執(zhí)行文件的名字,默認為與工程文件名相同,也可以鍵入新的文件名。(3)單擊“確定”按鈕,完成可執(zhí)行文件的生成。生成的可執(zhí)行文件同其他Windows應(yīng)用程序一樣,可在Windows環(huán)境下直接運行。
圖2-15“生成工程”對話框4.文件刪除在工程資源管理器窗口選擇文件,然后單擊右鍵,選擇快捷菜單中的“移去…”命令從工程中刪除該文件,但這種操作只是解除了移去的文件與當(dāng)前工程聯(lián)系,文件仍然保留在磁盤上。如果直接在磁盤上刪除工程中的某個文件,,在打開該工程時,將會顯示文件丟失的出錯信息,參見圖2-16,單擊圖中的“是”將繼續(xù)加載該工程,但不會顯示刪除的窗體。如果在磁盤上對工程中的某個文件重新命名,也會出現(xiàn)相同的出錯信息??梢杂袃蓚€方法解決這一問題。一是用文本編輯器(如記事本)打開工程文件(在磁盤上選擇“netbank.vbp”,單擊右鍵,選擇“打開方式”,打開“打開方式”對話框,選擇“記事本”),將“Form=frmbank1.frm”改為
“Form=frmbanktemp.frm”即可。圖2-16對不到窗體文件時顯示的出錯信息圖2-17在文本編輯器中修改工程文件3.4VisualBASIC應(yīng)用程序的結(jié)構(gòu)與工作方式
一個VisualBASIC應(yīng)用程序(或者說一個工程)通常由三類模塊組成:窗體模塊、標(biāo)準(zhǔn)模塊和類模塊。一個工程的全部文件參見表2-3。
1.窗體模塊由于VisualBasic應(yīng)用程序是基于對象的,所以應(yīng)用程序的代碼結(jié)構(gòu)就是該程序在屏幕上物理表示的模型。根據(jù)定義,對象包含數(shù)據(jù)和代碼。窗體是由其屬性規(guī)定的,這些屬性定義了窗體的外觀和內(nèi)在特性。每個應(yīng)用程序可以包含一個或多個窗體模塊(文件擴展名為.frm
),每個窗體模塊都有一個作為用戶界面的窗體和執(zhí)行具體操作的代碼窗口。每個窗體上可以包含若干個控件,每個控件都可以有其相應(yīng)的事件過程集。此外每個窗體模塊還可以包含能夠被窗體中任何事件過程調(diào)用的3.4.1VisualBASIC應(yīng)用程序的結(jié)構(gòu)2.標(biāo)準(zhǔn)模塊標(biāo)準(zhǔn)模塊(文件擴展名為.bas)完全由與特定窗體或控件無關(guān)的代碼組成的模塊。如果一個過程用來響應(yīng)幾個不同對象中的事件,則可將這個過程放在標(biāo)準(zhǔn)模塊中,而沒有必要在每一個對象的事件過程中重復(fù)相同的代碼。在標(biāo)準(zhǔn)模塊中可以聲明能夠被任何模塊使用的全局變量,可以定義函數(shù)過程或子程序過程。3.類模塊類模塊(文件擴展名為.cls
)用來創(chuàng)建對象,這些對象可被應(yīng)用程序內(nèi)的過程調(diào)用。標(biāo)準(zhǔn)模塊只包含代碼,而類模塊既包含代碼又包含數(shù)據(jù),可視為沒有物理表示的控件。擴展名說
明.vbp跟蹤所有部件的工程文件.frm窗體模塊文件,包含窗體及其控件的正文描述,包括它們的屬性設(shè)置,也含有窗體級的常數(shù)、變量和外部過程(事件過程和一般過程)的聲明.frx每個窗體的二進制數(shù)據(jù)文件,它含有窗體上控件的屬性數(shù)據(jù)。對含有二進制屬性(例如圖片或圖標(biāo))的任何.frm文件都是不可編輯的,這些文件都是自動產(chǎn)生的.cls類模塊文件,與窗體模塊類似,但沒有可見的用戶界面??梢允褂妙惸K創(chuàng)建含有方法和屬性代碼的自己的對象。該文件是可選項
.bas標(biāo)準(zhǔn)模塊文件,可以包含類型、常數(shù)、變量、外部過程和公共過程的公共的或模塊級的聲明。該文件是可選項.ocxActiveX控件文件,它可以被添加到工具箱中并在窗體里使用。當(dāng)安裝VB時,VB包含有控件的那些文件被復(fù)制到一個公共目錄(Windows95/98/2000下面的子目錄\windows\system中)??梢詮亩喾N途徑取得附加的ActiveX控件。也可以使用VB專業(yè)版和企業(yè)版創(chuàng)建自己的控件。該文件是可選項.res資源文件,包含著無需重新編輯代碼便可以改變的位圖、字符串和其他數(shù)據(jù)。例如,如果計劃用一種外語將應(yīng)用程序本地化,可以將用戶界面的全部正文串和位圖存放在資源文件里,然后將資源文件本地化,而不是將整個應(yīng)用程序本地化。一個工程最多包含一個資源文件。該文件是可選項表3-3一個工程的全部文件3.4.2VisualBASIC應(yīng)用程序的工作方式1.Windows的工作方式VisualBasic是Windows開發(fā)語言,與Windows環(huán)境保持一定的相似性。Windows的工作機制,簡言之就是三個關(guān)鍵的概念:窗口、事件和消息。MicrosoftWindows操作系統(tǒng)通過給每一個窗口指定一個唯一的標(biāo)識號(窗口句柄或hWnd)來管理所有的窗口。操作系統(tǒng)連續(xù)地監(jiān)視每一個窗口的活動或事件的信號。事件可以通過諸如單擊鼠標(biāo)或按下按鍵的操作而產(chǎn)生,也可以通過程序的控制而產(chǎn)生,甚至可以由另一個窗口的操作而產(chǎn)生。每發(fā)生一次事件,將引發(fā)一條消息發(fā)送至操作系統(tǒng)。操作系統(tǒng)處理該消息并廣播給其它窗口。然后,每一個窗口才能根據(jù)自身處理該條消息的指令而采取適當(dāng)?shù)牟僮鳎ɡ纾?dāng)窗口解除了其它窗口的覆蓋時,重顯自身窗口)。選擇“工具|選項”菜單,打開如圖2-20所示的“選項”對話框,對各項功能進行設(shè)置。在“選項”對話框中有六個選項卡,用戶可以根據(jù)需要對編輯器、編輯器格式、環(huán)境等進行設(shè)置。
圖2-20“選項”對話框之“編輯器”選項卡3.5工作環(huán)境設(shè)置與程序調(diào)試1.“編輯器”選項卡其作用是指定代碼窗口和工程窗口設(shè)置值。(1)“代碼設(shè)置”區(qū)1)“自動語法檢測”復(fù)選框選中該復(fù)選框后,用戶如果完成一行程序代碼的輸入,轉(zhuǎn)到其他行時,VB會自動對此行程序代碼進行語法檢查,一旦出現(xiàn)語法錯誤,就會彈出一個消息框,提示用戶出錯信息,如果沒有選中該復(fù)選框,出現(xiàn)語法錯誤時,將不顯示消息框,但還是會將該行代碼以紅色字體顯示,以
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園小班音樂《大雨小雨》課件
- 西京學(xué)院《藝術(shù)鑒賞》2022-2023學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《市場營銷》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《跨境電子商務(wù)》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《機器人控制系統(tǒng)設(shè)計與仿真》2022-2023學(xué)年期末試卷
- 西京學(xué)院《版面設(shè)計》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《模擬電子技術(shù)實驗》2021-2022學(xué)年期末試卷
- 西華師范大學(xué)《小學(xué)音樂課程與教學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《射頻電路理論與設(shè)計》2022-2023學(xué)年期末試卷
- 課文錢學(xué)森課件
- 11.20世界慢阻肺日認識你的肺功能預(yù)防控制和消除慢阻肺課件
- 外研版英語2024七年級上冊全冊單元知識清單(默寫版)
- 國開2024年秋《機電控制工程基礎(chǔ)》形考任務(wù)4答案
- 2024年極兔速遞有限公司招聘筆試參考題庫附帶答案詳解
- 25題退役軍人事務(wù)員崗位常見面試問題含HR問題考察點及參考回答
- 鋼管落地卸料平臺
- 耐熱鋼的選用
- 民間借貸(欠款)糾紛人民調(diào)解協(xié)議書范本
- 檢維修風(fēng)險分析記錄10001
- 日語授受關(guān)系PPT演示課件
- 五筆打字的編碼規(guī)則
評論
0/150
提交評論