|
創(chuàng)建事件過程 vb應(yīng)用程序的代碼被分為稱為過程的小的代碼塊。事件過程,正如此處正要創(chuàng)建的一樣,包含了事件發(fā)生(例如單擊按鈕)時要執(zhí)行的代碼?丶氖录^程由控件的實際名稱(Name 屬性中所指定的)、下劃線 (_) 和事件名組合而成。例如,在單擊一個名為 Command1 的命令按鈕時調(diào)用的 Name 事件過程,可稱為 Command1_Click 事件過程。 要創(chuàng)建事件過程,請按照以下步驟執(zhí)行: 1. 在“對象”列表框中,選定活動窗體中的一個對象名(活動窗體是指當前有焦點的窗體)。在這一例子中,選定命令按鈕 Command1。 2. 在“過程”列表框中,選擇指定對象的事件名。此時 Click 過程已經(jīng)被選定,因為它是命令按鈕的缺省過程。注意,這時事件過程的模板已經(jīng)顯示在“代碼”窗口中。 3. 在 Sub 和 End Sub 語句之間輸入下面的代碼: Text1.Text = "Hello, world!" 這個事件過程應(yīng)該是: Private Sub Command1_Click () Text1.Text = "Hello, world!" End Sub 值得注意的是,此處代碼只簡單改變了控件 Text1 的 Text 屬性,讀入"Hello, world!"。這個例子的語法采用object. property的格式,其中 Text1 是對象,Text 是屬性。響應(yīng)應(yīng)用程序運行中發(fā)生的事件時,可以用這種語法來改變?nèi)魏未绑w或控件的屬性設(shè)置值。 詳細信息 關(guān)于創(chuàng)建其它類型過程的詳細信息,請參閱第五章“編程基礎(chǔ)”中的“過程概述”一節(jié)。 運行應(yīng)用程序 為了運行應(yīng)用程序,可以從“運行”菜單中選擇“啟動”,或者單擊工具欄中的“啟動”按鈕,或按 F5 鍵。單擊剛才在窗體上創(chuàng)建的命令按鈕,文本框中就會顯示 "Hello, world!"。 Firstapp 示例應(yīng)用程序 由于 vb提供了遠比本例應(yīng)用程序豐富得多的工具,因此馬上可以使用許多其的特性來管理和配制應(yīng)用程序。復(fù)習(xí)示例應(yīng)用程序是學(xué)習(xí)vb的極好方法。下述示例展示了用 vb編制實用的應(yīng)用程序是多么的輕而易舉。 應(yīng)用程序Firstapp 演示了如何使用 data 控件和 grid 控件顯示取自數(shù)據(jù)庫的信息表。vb使得從應(yīng)用程序內(nèi)部到數(shù)據(jù)庫的訪問非常地容易。數(shù)據(jù)控件提供了在數(shù)據(jù)庫的記錄集中漫游的功能,以及使得在 grid 控件中顯示的記錄與數(shù)據(jù)集中的位置同步的能力。 本例包含一個數(shù)據(jù)控件、一個MSFlexGrid 控件、一個列表框控件和兩個命令按鈕。網(wǎng)格顯示了從Northwind 數(shù)據(jù)庫檢索到的產(chǎn)品的信息表。當使用數(shù)據(jù)控件上的定位按鈕選定網(wǎng)格的一項時,被選中的產(chǎn)品名便顯示在數(shù)據(jù)控件上。還可以雙擊網(wǎng)格中當前選擇位置,在列表框控件的“購書單”中添加當前選擇的書名。 用 AddItem 方法可以添加列表框的信息。方法是作用于特定對象(本例中為 ListBox 對象)的 vb函數(shù)。指定方法的語法 (object.method) 與設(shè)置屬性的語法 (object.property) 類似。AddItem 方法可以在程序運行時動態(tài)地添加列表框的內(nèi)容。相反,Clear 方法用于清除列表框的全部信息。 詳細信息 關(guān)于方法的詳細內(nèi)容,請參閱第三章“窗體、控件和菜單”中的“屬性、方法和事件概述”一節(jié)。 創(chuàng)建工程 創(chuàng)建工程首先要從“文件”菜單中選擇“新建工程”,然后從“新建工程”對話框中選定“標準 EXE”(首次啟動 vb時將會顯示“新建工程”對話框)。vb創(chuàng)建一個新的工程并顯示一個新的窗體。用一個數(shù)據(jù)控件、一個MSFlexGrid 控件、一個列表框控件以及兩個命令按鈕畫出了應(yīng)用程序的界面。MSFlexGrid 控件不在缺省的工具箱內(nèi),因此必須添加: 要添加控件到工具箱,請按照以下步驟執(zhí)行: 1. 選定工具箱的上下文菜單中的“部件”(可以在工具箱窗口內(nèi)部單擊右鍵顯示上下文菜單。)!安考睂υ捒虮伙@示。 2. 找到“控件”列表框中的“MSFlexGrid (Microsoft Flex Grid 6.0)”項,然后選中其左邊的復(fù)選框。 3. 單擊“確定”按鈕。在工具箱中有了MSFlexGrid 控件的圖標。 使用工具箱在窗體上畫出一個數(shù)據(jù)控件、一個MSFlexGrid 控件、一個列表框控件和兩個命令按鈕。如果您不記得如何繪制,請參閱本章前面的"Creatingthe Interface"。 設(shè)置屬性根據(jù)下表在屬性窗口中設(shè)置對象的屬性,其余的屬性均使用缺省值。 
數(shù)據(jù)控件的 DatabaseName 屬性必須包含數(shù)據(jù)庫的實際路徑。按照缺省規(guī)定,Biblio.mdb 數(shù)據(jù)庫的按鈕與 vb安裝在同一個目錄下。在屬性窗口中選擇 DatabaseName 屬性時,可以單擊該屬性右側(cè)的按鈕顯示標準的“打開文件”對話框瀏覽文件。設(shè)置完 DatabaseName 屬性后,屬性窗口中的 RecordSource 屬性將包含選中的數(shù)據(jù)庫中的表或記錄集的清單。將DataGrid 控件的 DataSource 屬性設(shè)置為 Data1,將自動地把網(wǎng)格和數(shù)據(jù)控制鏈接起來。 編寫事件代碼 程序所有的代碼包含在 Command1_Click、Command2_Click、Data1_Reposition 和DataGrid1_DblClick 事件過程中。雙擊窗體或控件顯示代碼窗口,然后輸入各事件過程的代碼。 將以下代碼添加到 Command1_Click 事件過程中,用于單擊按鈕時清除列表框: Private Sub Command1_Click () List1.Clear' 清除列表框。 End Sub 以上語句調(diào)用了列表框 List1 的 Clear 方法,Clear 方法刪除該列表框的內(nèi)容。 將以下代碼添加到 Command2_Click 事件過程中,用于從內(nèi)存中卸載窗體并終止應(yīng)用程序: Private Sub Command2_Click () Unload Form1 End' 終止應(yīng)用程序 End Sub 以上過程的第一條語句調(diào)用窗體的 Unload 事件。如果需要在終止程序時執(zhí)行一個功能(例如保存文件),可以把代碼放到窗體的 Unload 事件過程中。第二條語句調(diào)用 End 函數(shù)終止程序。 將以下代碼添加到 Data1_Reposition 事件過程中,用于每當選擇一個記錄時更新標題: Private Sub Data1_Reposition () Data1.Caption = Data1.Recordset("Title") End Sub 以上語句將右邊的值(數(shù)據(jù)控件的記錄集的 Title 字段)賦給左邊的屬性(數(shù)據(jù)控件對象的 Caption 屬性)。 將以下代碼添加到DataGrid_DblClick 事件過程中,用于當雙擊一個選定的行時向列表框添加信息。 Private Sub DataGrid1_DblClick () List1.AddItem Data1.Recordset("Title") End Sub 以上語句調(diào)用列表框 List1 的 AddItem 方法。添加到列表框中的文本被包含在該方法的參數(shù)中(此時為數(shù)據(jù)控件的記錄集的 title 字段)。將一個值傳遞給參數(shù)類似于給屬性賦值,與賦值語句不同的是不需要用等號。 保存工程 從“文件”菜單中選取“保存工程”命令來結(jié)束本次創(chuàng)建應(yīng)用程序的工作。vb將分別提示保存窗體和保存工程?梢詫⒐こ堂麨椤皶赇N售清單” ("Bookstore Shopping List.")。Windows 95 和 Windows NT 都允許使用長達 255 個字符的文件名而且可以包含空格。舊版的 MicrosoftWindows 只允許八個字符的文件名外加三個字符的擴展名。 增強應(yīng)用程序 這樣第一個vb應(yīng)用程序就完成了:這是一個功能簡單卻很有用的程序?梢砸源藶榛A(chǔ)在自己的應(yīng)用程序中添加新的功能,用自己的數(shù)據(jù)替換 Biblio.mdb。當然,要使本程序真正實用,還要添加基本的保存或打印列表框內(nèi)容的功能、添加更多的信息,如價格、是否有貨,甚至可以收集信用卡的信息和通過 Internet 傳送訂單。通過繼續(xù)閱讀《程序員指南》的其余部分將找到所有有關(guān)這些功能的例子和其它更多的知識。 |