程序設計基礎全集演示_第1頁
程序設計基礎全集演示_第2頁
程序設計基礎全集演示_第3頁
程序設計基礎全集演示_第4頁
程序設計基礎全集演示_第5頁
已閱讀5頁,還剩386頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

(優(yōu)選)程序設計基礎全集目前一頁\總數(shù)三百九十一頁\編于二十一點前言VisualBasic是目前進行Windows應用程序設計的最佳工具之一,也是最佳的程序設計入門語言,這一看法已經(jīng)得到普遍認可。非計算機專業(yè)計算機基礎教學的3個不同層次,分別解決的是“操作技能”、“思維訓練”、“綜合應用能力”問題。學習一門程序設計語言,主要目的是要提高讀者分析歸納、解決問題的能力,在思維訓練方面受益,并使得讀者通過更系統(tǒng)、深入的學習后開發(fā)實用程序成為可能。因此,本書在內容上精選了VisualBasic6.0中最基礎、最常用并實用的部分;在編排和風格上力圖體現(xiàn)循序漸進、深入淺出的特點;以樣本程序示例教學,階段性構筑讀者的成就感,使得艱苦的程序設計工作升華為一種藝術創(chuàng)作,提供了一條通往程序設計高手的捷徑。目前二頁\總數(shù)三百九十一頁\編于二十一點前言本書的編寫得到了浙江省高校計算機教學研究會的大力支持。本書共分9章,第1、第7章由浙江科技學院的羅朝盛教授編寫,第2、第3、第4、第6章由浙江工業(yè)大學的胡同森副教授編寫,第5章由浙江理工大學的莊紅副教授編寫,第8章由胡同森和浙江師范大學的朱建新編寫,第9章由杭州電子科技大學的郭艷華副教授編寫。附錄部分包括ASCII字符集、VisualBasic常用系統(tǒng)函數(shù)、VisualBasic常用屬性、VisualBasic常用事件、VisualBasic常用方法以及部分對象能使用的常用方法,為大家使用VisualBasic進行程序設計提供查找資料的方便。全書由浙江工業(yè)大學陳慶章?lián)沃骶?,由胡同森統(tǒng)稿。目前三頁\總數(shù)三百九十一頁\編于二十一點前言另外,與本教材配套使用的另一本教學或自學參考書《VisualBasic學習及實踐指導》將在2005年春季前出書。書中將有本教材習題的參考答案和《VisualBasic學習及實踐指導》中附加習題的參考答案。此書是教師教學、學生或讀者自學非常實用的輔助參考書。希望所有讀者和從事計算機基礎教學的各位同仁,對本書多提寶貴意見,使其逐步完善。在此,預致我們深深的謝意。

本書編委會2004年7月

目前四頁\總數(shù)三百九十一頁\編于二十一點編委會名單主任:方永平

副主任:胡維華

委員(以姓氏筆畫為序)陳慶章何欽銘項小仙趙建民俞瑞釗蔣聯(lián)海雷煒樓程富主編:陳慶章

編著者:胡同森羅朝盛莊紅郭艷華朱建新目前五頁\總數(shù)三百九十一頁\編于二十一點目錄第1章

VisualBasic6.0程序設計概述

第2章

程序設計基礎

第3章

結構化程序設計與數(shù)組

第4章

函數(shù)與過程

第5章

常用控件

第6章

圖形控件和圖形方法

第7章

對話框和菜單程序設計

第8章

第9章

數(shù)據(jù)庫與數(shù)據(jù)訪問技術

目前六頁\總數(shù)三百九十一頁\編于二十一點第1章VisualBasic6.0程序設計概述

1.1VisualBasic簡介1.2VisualBasic6.0可視化編程環(huán)境1.3VisualBasic中的基本概念1.4窗體1.5VisualBasic程序的組成及工作方式

1.6一個簡單的VisualBasic程序的創(chuàng)建實例1.7小結目前七頁\總數(shù)三百九十一頁\編于二十一點1.1.1VisualBasic的發(fā)展過程

Basic(BeginnersAll-PurposeSymbolInstructionCode——初學者通用指令代碼)語言,是早期微型計算機中廣泛使用的計算機程序設計高級語言。VisualBasic在原有Basic語言的基礎上進一步發(fā)展,綜合了Basic語言和Windows操作系統(tǒng)的優(yōu)點,把它們融合在一起,為初學者在Windows環(huán)境下編寫應用程序提供了良好的開發(fā)環(huán)境?!癡isual”的原意是指“可視的”或“看得見的”,是為用戶開發(fā)圖形用戶界面(GUI)提供的一種方法。用戶不需要編寫大量代碼去描述界面元素的外觀和位置,而只要把預先建立的對象加到屏幕上的適當位置,再進行簡單的設置即可。目前八頁\總數(shù)三百九十一頁\編于二十一點1.1.1VisualBasic的發(fā)展過程1991年,微軟公司推出了VisualBasic1.0版,這在當時引起了很大的轟動。許多專家把VisualBasic的出現(xiàn)當作是軟件開發(fā)史上的一個具有劃時代意義的事件。其實,現(xiàn)在看來,VisualBasic1.0的功能實在是太弱了。但在當時,它是第一個“可視”的編程軟件。1992年初,發(fā)布VisualBasicProfessionalToolkit,其中包含了一組由微軟公司和其他公司開發(fā)的自定義控件。這時,面向對象和復用性開始成為軟件開發(fā)中的重要概念。同年,又發(fā)布了MicrosoftVisualBasic2.0,其中包含了變體數(shù)據(jù)類型、預定義True、False常量和對象變量。1993年,VisualBasic3.0的推出,新增了標準數(shù)據(jù)控件,帶有Jet1.1版本的數(shù)據(jù)庫引擎。1995年,微軟公司又推出了VisualBasic4.0。該版本不但大量改寫了原來的VisualBasic,還加入了OLE技術并能夠生成對象;同時還支持32位自定義控件OCX,并可從VisualBasic應用程序中訪問其他軟件環(huán)境下生成的數(shù)據(jù),如MicrosoftWord、MicrosoftExcel等。目前九頁\總數(shù)三百九十一頁\編于二十一點1.1.1VisualBasic的發(fā)展過程1997年,微軟公司推出了VisualBasic5.0,它支持MicrosoftCOM標準,可以生成ActiveX控件,并有明顯創(chuàng)新,開發(fā)人員可以用VisualBasic生成自己的自定義控件和DLL。1998年,微軟公司又推出了VisualBasic6.0。較以前版本而言,其功能和性能都大大增強了,它還提供了新的、靈巧的數(shù)據(jù)庫和Web開發(fā)工具,如增加了新的SQLServer交互方法,包括數(shù)據(jù)庫的訪問,使用數(shù)據(jù)庫的新工具和控件等。目前十頁\總數(shù)三百九十一頁\編于二十一點1.1.1VisualBasic的發(fā)展過程VisualBasic5.0/6.0有3種版本,分別為學習版、專業(yè)版和企業(yè)版。◆

學習版:它是最基本的版本,允許編寫許多類型的程序,與其他版本相比,所帶工具較少。◆

專業(yè)版:為專業(yè)人員而設計,它不僅包含了學習版的全部內容,還包含了許多其他功能,如具有創(chuàng)建ActiveX控件和ActiveX文檔的能力;提供Internet開發(fā)功能,具有更多使用數(shù)據(jù)庫的工具?!?/p>

企業(yè)版:這是VisualBasic6.0最完善的版本,該版本主要用于開發(fā)企業(yè)級分布式應用程序,它包含了許多附加工具,提供了完全集成SQLServer的所有工具。這3個版本是在相同的基礎上建立起來的,以滿足不同層次用戶的需要。對大多數(shù)用戶來說,專業(yè)版就可以滿足要求。本書使用的是VisualBasic6.0的企業(yè)版(中文),書中介紹的內容盡量做到與版本無關。目前十一頁\總數(shù)三百九十一頁\編于二十一點1.1.2VisualBasic的特點

VisualBasic是一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言,能用于Windows環(huán)境下的各種應用軟件的開發(fā),是目前較為流行的應用軟件開發(fā)平臺,具有許多明顯的特點與優(yōu)點,現(xiàn)歸納如下:1.提供了面向對象的可視化編程工具VisualBasic采用的是面向對象的程序設計方法(OOP),它把程序和數(shù)據(jù)封裝在一起而視作為一個對象。VisualBasic提供了可視化的設計工具,把Windows界面設計的復雜性“隱藏”起來,開發(fā)人員只需按設計要求,用系統(tǒng)提供的工具,在屏幕上畫出各種對象,并設置這些對象的屬性,這樣就可以在屏幕上“畫”出所需的用戶界面,不必為界面設計而編寫大量的程序代碼,因而大大提高程序設計的效率。

目前十二頁\總數(shù)三百九十一頁\編于二十一點1.1.2VisualBasic的特點2.事件驅動的編程方式傳統(tǒng)的程序設計是一種面向過程的方式,程序總是按事先設計好的流程運行,用戶不能隨意改變、控制程序的流向。在VisualBasic中,用戶的動作——事件控制著程序的流向,每個事件都能驅動一段程序的運行。程序員只需編寫響應用戶動作的代碼,而各個動作之間不一定有聯(lián)系,這樣的應用程序代碼一般比較短,所以程序易于編寫與維護。3.結構化的程序設計語言VisualBasic具有豐富的數(shù)據(jù)類型和結構化程序結構,其特點是:(1)增強了數(shù)值和字符串處理功能,比傳統(tǒng)的Basic語言有許多的改進。(2)提供了豐富的圖形及動畫指令,可方便地繪制各種圖形。(3)提供了定長和動態(tài)(變長)數(shù)組,有利于簡化內存管理。(4)增加了遞歸過程調用,使程序更為簡練。(5)提供了一個可供應用程序調用的包含多種類型的圖標庫。(6)具有完善的調試、運行出錯處理。目前十三頁\總數(shù)三百九十一頁\編于二十一點1.1.2VisualBasic的特點4.提供了易學易用的應用程序集成開發(fā)環(huán)境在VisualBasic的集成開發(fā)環(huán)境中,用戶可設計界面、編寫代碼、調試程序,直至將應用程序編譯成可執(zhí)行文件在Windows上運行,使用戶在友好的開發(fā)環(huán)境中工作。5.支持多種數(shù)據(jù)庫系統(tǒng)的訪問利用VisualBasic的數(shù)據(jù)控件,可訪問MicrosoftAccess、Dbase、MicrosoftFoxPro、Paradox等,也可以訪問MicrosoftExcel、Lotusl1-2-3等多種電子表格。目前十四頁\總數(shù)三百九十一頁\編于二十一點1.1.2VisualBasic的特點6.支持動態(tài)數(shù)據(jù)交換(DDE)、動態(tài)鏈接庫(DLL)和對象的鏈接與嵌入(OLE)動態(tài)數(shù)據(jù)交換是MicrosoftWindows除了剪貼板和動態(tài)鏈接函數(shù)庫以外,在Windows內部交換數(shù)據(jù)的第三種方式。利用這項技術可在VisualBasic開發(fā)的應用程序與其他Windows應用程序之間建立數(shù)據(jù)通信。動態(tài)鏈接庫中存放了所有Windows應用程序可以共享的代碼和資源,這些代碼或函數(shù)可以用多種語言寫成。VisualBasic利用這項技術可以調用幾乎任何語言產(chǎn)生的DLL,也可以調用Windows應用程序接口(API)函數(shù),以實現(xiàn)SDK所能實現(xiàn)的功能。7.完備的Help聯(lián)機幫助功能與Windows環(huán)境下的其他軟件一樣,在VisualBasic中,利用幫助菜單和功能鍵,用戶可隨時方便地得到所需的幫助信息。VisualBasic幫助窗口中顯示了有關的示例代碼,通過復制、粘貼操作可獲得大量的示例代碼,為用戶的學習和使用提供了極大的方便。

目前十五頁\總數(shù)三百九十一頁\編于二十一點1.1.3VisualBasic6.0的新特性

VisualBasic6.0與以前的版本不同,它是VisualStudio家族的一個組件,保留了VisualBasic5.0的優(yōu)點,如在開發(fā)環(huán)境上的改進,增加了工作組,在代碼編輯器中提供了控件屬性/方法的自動提示,能編譯生成本機代碼,大大提高程序的執(zhí)行速度等。同時,VisualBasic6.0在數(shù)據(jù)訪問技術、Internet技術及智能化向導方面都有了許多新的特性。下面對VisualBasic6.0的新特性作一個簡單的概括。1.數(shù)據(jù)訪問的新特性VisualBasic6.0在數(shù)據(jù)訪問技術方面比VisualBasic5.0有了很大的增強,首先,它采用了一種新的數(shù)據(jù)訪問技術ADO(ActiveDataObject),使之能更好地訪問本地和遠程的數(shù)據(jù)庫。其次,在數(shù)據(jù)環(huán)境方面,允許程序員可視化地創(chuàng)建和操作ADO連接及命令,為程序員操縱數(shù)據(jù)源提供了很大的方便。另外,增加了ADO控件和集成的可視化數(shù)據(jù)庫工具。

目前十六頁\總數(shù)三百九十一頁\編于二十一點1.1.3VisualBasic6.0的新特性

2.Internet功能的增強Internet是當今發(fā)展的潮流,VisualBasic6.0在Internet方面的增強使得它已成為當前最強有力的開發(fā)工具之一。(1)IIS程序設計:用VisualBasic6.0的專業(yè)版和企業(yè)版可直接創(chuàng)建IIS應用程序,響應用戶的要求。(2)DHTML的設計:利用VisualBasic6.0,程序員可直接通過VisualBasic代碼來實現(xiàn)動態(tài)網(wǎng)頁的設計。(3)InternetExplorer4.x對下載ActiveX文檔的支持。3.控件、語言和向導方面的新增特性(1)DataGrid、DataList、DataCombo等新增的數(shù)據(jù)控件:相當于DataBase(簡稱DB)版本的DBGrid、OLEDBList和DBCombo,所不同的是它們都支持新的ADO控件。(2)可以創(chuàng)建自己的數(shù)據(jù)源和數(shù)據(jù)綁定對象。(3)函數(shù)可以將數(shù)組作為返回值,并且可以為可變大小的數(shù)組賦值。(4)新增了安裝向導、數(shù)據(jù)對象向導、數(shù)據(jù)窗體向導以及應用程序向導。這些新增的向導,可以使開發(fā)人員設計出更優(yōu)秀的應用程序。

目前十七頁\總數(shù)三百九十一頁\編于二十一點1.1.3VisualBasic6.0的新特性

4.高度可移植化的代碼代碼的可移植性是面向對象編程的一個重要特點。VisualBasic6.0集成了VisualComponentManager(簡稱VCM,中文含義為可視化組件管理器)和VisualModeler(可視化模塊設計器)。通過VCM,可以在VisualBasic的工程中方便地組織、查找、插入各種窗體、模板、類模塊,甚至整個工程,為代碼的重新利用提供了很大的方便。而VisualModeler則可以將設計器和組件轉化成VisualC++或VisualBasic的代碼,它與VCM結合可以將VisualBasic中寫的類,在其他工程甚至VisualC++的工程中使用。5.創(chuàng)建ActiveX控件更加輕松方便用VisualBasic6.0創(chuàng)建的ActiveX控件,其外觀和行為均和用C語言編寫的控件一樣,可以用在VisualC++、VisualBasic、Delphi,甚至Word和Access中。6.在線幫助更加完善VisualBasic6.0有兩張光盤的文檔資料,里邊包括VisualBasic6.0程序員設計手冊、全文搜索索引、VisualBasic文檔以及VisualBasic程序樣例等。

目前十八頁\總數(shù)三百九十一頁\編于二十一點1.2.1VisualBasic6.0的集成開發(fā)環(huán)境主窗口

VisualBasic6.0集成開發(fā)環(huán)境(IDE),提供了整套工具,方便用戶開發(fā)應用程序。它在一個公共環(huán)境里集成了許多不同的功能,例如設計、編輯、編譯和調試。下面介紹VisualBasic6.0的集成開發(fā)環(huán)境。當啟動VisualBasic6.0時,可以見到如圖1-1所示的窗口,其中會提示選擇要建立的工程類型。

圖1-1VisualBasic6.0中可以建立的工程類型

目前十九頁\總數(shù)三百九十一頁\編于二十一點1.2.1VisualBasic6.0的集成開發(fā)環(huán)境主窗口使用VisualBasic6.0可以生成下列13種類型的應用程序(圖中僅看到10種,通過滾動條可看到另外3種):在圖1-1的窗口中有3個選項卡:(1)新建:這個選項卡中列出了11種可生成的工程類型。(2)現(xiàn)存:這個選項卡中列出了可以選擇和打開的現(xiàn)有工程。(3)最新:這個選項卡中列出了最近使用過的工程,用戶可以選擇和打開一個需要的工程。當選擇“新建”選項卡中的“標準EXE”圖標并單擊“打開”按鈕,可以打開如圖1-2所示的VisualBasic集成開發(fā)環(huán)境窗口。

目前二十頁\總數(shù)三百九十一頁\編于二十一點1.2.1VisualBasic6.0的集成開發(fā)環(huán)境主窗口圖1-2VisualBasic6.0集成開發(fā)環(huán)境

菜單欄工具欄標題欄工具箱工程管理窗口屬性窗口布局窗口立即窗口窗體設計窗口目前二十一頁\總數(shù)三百九十一頁\編于二十一點1.2.1VisualBasic6.0的集成開發(fā)環(huán)境主窗口需要說明的是正常啟動時,可能見不到圖1-2中的“立即”窗口。在VisualBasic集成環(huán)境中的其他類似窗口,都可以通過“視圖”菜單中的相應命令來打開和關閉。1.標題欄標題欄位于主窗口最上面的一行,如圖1-3所示。標題欄中間顯示窗口標題及工作模式,VisualBasic有3種工作模式:設計(Design)模式、運行(Run)模式和中斷(Break)模式。啟動時它顯示“工程1-MicrosoftVisualBasic[設計]”,表示它處于程序設計模式。(1)設計模式:可進行用戶界面的設計和代碼的編制,以完成應用程序的開發(fā),如圖1-2所示。(2)運行模式:運行應用程序,這時不可編輯代碼,也不可編輯界面。此時,標題欄中的標題為:“工程1MicrosoftVisualBasic[運行]”。(3)中斷模式:應用程序運行暫時中斷,這時可以編輯代碼,但不可編輯界面。此時,標題欄中的標題為:“工程1MicrosoftVisualasic[break]”。按F5鍵或單擊工具欄的“繼續(xù)”按鈕

,程序繼續(xù)運行;單擊“結束”按鈕

,程序停止運行。

目前二十二頁\總數(shù)三百九十一頁\編于二十一點1.2.1VisualBasic6.0的集成開發(fā)環(huán)境主窗口2.菜單欄VisualBasic集成開發(fā)環(huán)境的菜單欄中包含使用VisualBasic所需要的命令。它除了提供標準“文件”、“編輯”、“視圖”、“窗口”和“幫助”菜單之外,還提供了編程專用的功能菜單,如“工程”、“格式”、“調試”、“外接程序”等菜單,總共13項菜單,如圖1-3所示。工具欄標題欄菜單欄圖1-3VisualBasic6.0集成開發(fā)環(huán)境的主窗口

目前二十三頁\總數(shù)三百九十一頁\編于二十一點1.2.1VisualBasic6.0的集成開發(fā)環(huán)境主窗口VisualBasic6.0集成開發(fā)環(huán)境中的基本菜單有:(1)文件:包含打開和保存工程以及生成可執(zhí)行文件的命令。(2)編輯:包含編輯命令和其他一些格式化、編輯代碼的命令,以及其他編輯功能命令。(3)視圖:包含顯示和隱藏IDE元素的命令。(4)工程:包含在工程中添加構件、引用Windows對象和工具箱新工具的命令。(5)格式:包含對齊窗體控件的命令。(6)調試:包含一些通用的調試命令。(7)運行:包含啟動、設置斷點和終止當前應用程序運行的命令。(8)查詢:包含操作數(shù)據(jù)庫表時的查詢命令以及其他數(shù)據(jù)訪問命令。(9)圖表:包含操作VisualBasic工程時的圖表處理命令。(10)工具:包含建立ActiveX控件時需要的工具命令,并可以啟動菜單編輯器以及配置環(huán)境選項。(11)外接程序:包含可以隨意增刪的外接程序。缺省時這個菜單中只有“可視化數(shù)據(jù)管理器”選項。通過“外接程序管理器”命令可以增刪外接程序。(12)窗口:包含屏幕窗口布局命令。(13)幫助:提供相關幫助信息。

目前二十四頁\總數(shù)三百九十一頁\編于二十一點1.2.1VisualBasic6.0的集成開發(fā)環(huán)境主窗口3.工具欄工具欄在編程環(huán)境下提供對于常用命令的快速訪問。單擊工具欄上的按鈕,即可執(zhí)行該按鈕所代表的操作。在缺省模式下,啟動VisualBasic之后將顯示“標準”工具欄。其他工具欄,如“編輯”、“窗體設計”和“調試”工具欄可以從“視圖”菜單中的“工具欄”命令中移進或移出。工具欄緊貼在菜單欄下方,或以垂直條狀緊貼在左邊框上,如圖1-3所示。如果用鼠標將工具欄從某欄下面移開,則它能“懸”在窗口中。一般情況下,工具欄在菜單欄的正下方。

目前二十五頁\總數(shù)三百九十一頁\編于二十一點1.2.2窗體設計窗口

“窗體設計窗口”也稱為對象窗口。Windows的應用程序運行后都會打開一個窗口,窗體設計窗口是應用程序最終面向用戶的窗口,是屏幕中央的主窗口。通過在窗體中添加控件并設置相應的屬性來完成應用程序界面的設計。每個窗口必須有一個窗體名字,系統(tǒng)啟動后就會自動創(chuàng)建一個窗體(缺省名為Form1),用戶可通過“工程/添加窗體”來創(chuàng)建新窗體或將已有的窗體添加到工程中。每個窗體保存后都有一個窗體文件名(擴展名為.Frm)。應注意窗體名即窗體的“Name”屬性和窗體文件名的區(qū)別。

目前二十六頁\總數(shù)三百九十一頁\編于二十一點1.2.3工具箱

系統(tǒng)啟動后缺省的General工具箱就會出現(xiàn)在屏幕左邊,其中每個圖標表示一種控件,共有20個常用“部件”(即控件),如圖1-4所示。

指針(選擇對象)

————

—————

圖片框(PictureBox)

標簽(Label)

——————

——————文本框(TextBox)

框架(Frame)

——————

——

命令按鈕(CommandButton)

復選框(CheckBox)

———

————

單選按鈕(OptionButton)

組合框(ComboBox)

———

———————

列表框(ListBox)

水平滾動條(HscrollBar)——

—————

垂直滾動條(VscrollBar)

定時器(Timer)

—————

——

驅動器列表框(DriveListBox)

目錄列表框(DirListBox)

————

文件列表框(FileListBox)

形狀(Shape)

——————

—————————

畫線(Line)

圖像框(Image)—————

———————數(shù)據(jù)庫(Data)

圖1-4VisualBasic工具箱中的常用控件類型目前二十七頁\總數(shù)三百九十一頁\編于二十一點1.2.3工具箱用戶可以將不在工具箱中的其他ActiveX控件放到工具箱中。通過“工程”菜單中的“部件”命令或從“工具箱”快捷菜單中選定“部件”選項卡,就會顯示系統(tǒng)安裝的所有ActiveX控件清單。要將某控件加入到當前選項卡中,需單擊要選定控件前面的方框,如圖1-5所示,然后單擊“確定”按鈕,選定的ActiveX控件就會添加到工具欄中。

圖1-5“部件”對話框

目前二十八頁\總數(shù)三百九十一頁\編于二十一點1.2.4工程資源管理器

工程是指用于創(chuàng)建一個應用程序的文件的集合。工程資源管理器列出了當前工程中的窗體和模塊,如圖1-6所示。在工程資源管理器窗口中有3個按鈕,分別表示“查看代碼”、“查看對象”和“切換文件夾”。(1)單擊“查看代碼”按鈕,可打開“代碼編輯器”查看代碼。(2)單擊“查看對象”按鈕,可打開“窗體設計器”查看正在設計的窗體。(3)單擊“切換文件夾”按鈕,則可以隱藏或顯示包含在對象文件夾中個別項目列表。

目前二十九頁\總數(shù)三百九十一頁\編于二十一點1.2.4工程資源管理器圖1-6工程資源管理器

圖1-7屬性設置窗口

目前三十頁\總數(shù)三百九十一頁\編于二十一點1.2.5屬性窗口

屬性是指對象的特征,如大小、標題或顏色等數(shù)據(jù)。在VisualBasic6.0設計模式中,屬性窗口列出了當前選定窗體或控件的屬性及其值,用戶可以對這些屬性值進行設置。例如,要設置Command1命令按鈕上顯示的字符串,可以找到屬性窗口的“Caption”屬性,輸入“開始”之類的字符串,如圖1-7所示。

目前三十一頁\總數(shù)三百九十一頁\編于二十一點1.2.6窗體布局窗口

窗體布局窗口顯示在屏幕右下角。用戶可使用表示屏幕的小圖像來布置應用程序中各窗體相對于主窗體的位置。圖1-8顯示了桌面上兩個窗體放置及其相對位置。右鍵單擊小屏幕,彈出快捷菜單,可通過該快捷菜單來對窗體啟動位置進行設計,如要設計窗體Form1啟動位置居屏幕中心,其操作如圖1-9所示。

圖1-8窗體布局窗口

圖1-9設計窗體啟動位置

目前三十二頁\總數(shù)三百九十一頁\編于二十一點1.2.7代碼編輯窗口

在設計模式中,通過雙擊窗體或窗體上的任何對象或單擊“工程資源管理器”窗口中的“查看代碼”按鈕都可打開代碼編輯器窗口。代碼編輯器是輸入應用程序代碼的編輯器,應用程序的每個窗體或標準模塊都有一個單獨的代碼編輯器窗口,如圖1-10所示。

圖1-10代碼編輯器窗口

目前三十三頁\總數(shù)三百九十一頁\編于二十一點1.2.8立即窗口

例如:(1)在立即窗口中使用賦值符給變量賦值。即輸入:X=3.14:Y=2:Z=30:P=True:K=False(2)使用“?表達式”或“Print表達式”輸出其表達式的值。操作如下:?X+Y5.14 '輸出結果

PrintInt(X)+Y/24 '輸出結果?NotPOrKAndPOrY>ZFalse '輸出結果

目前三十四頁\總數(shù)三百九十一頁\編于二十一點1.2.8立即窗口

在VisualBasic集成環(huán)境中,運行“視圖/立即窗口”命令或按Ctrl+G組合鍵即可打開如圖1-11所示的窗口?!傲⒓础贝翱谑荲isualBasic所提供的一個系統(tǒng)對象,稱為Debug對象,作為調試程序使用。它只有方法,不具備任何事件和屬性。通常使用是Print方法,使用格式為:Debug.print[輸出項列表]例如:Debug.print“VB程序設計”運行后在立即窗口輸出:VB程序設計在設計狀態(tài)可以在立即窗口中進行一些簡單的命令操作,如變量賦值,用“?”或Print(兩者等價)輸出一些表達式的值。

圖1-11立即窗口

目前三十五頁\總數(shù)三百九十一頁\編于二十一點1.2.8立即窗口

操作結果如圖1-12所示。

此外,VisualBasic6.0中還有2個非常有用的附加窗口:“本地”和“監(jiān)視”窗口,它們都是為調試應用程序提供的,本地窗口和監(jiān)視窗口只在運行工作模式下才有效。

圖1-12在“立即”窗口中的操作實例

目前三十六頁\總數(shù)三百九十一頁\編于二十一點1.3.1可視化編程

傳統(tǒng)的編程方法使用的是面向過程、按順序進行的機制,其缺點是程序員始終要關心什么時候發(fā)生什么事情,處理Windows環(huán)境下事件驅動方式的工作量太大。VisualBasic采用的是面向對象、事件驅動的編程機制。程序員只需編寫響應用戶動作的程序,如移動鼠標、單擊鼠標等,編寫代碼相對較少。VisualBasic使用的可視化編程方法,是面向對象編程技術的簡化版。VisualBasic提供多種控件支持可視化編程,利用它們可以快速創(chuàng)建強大的應用程序而不需涉及不必要的細節(jié)。在VisualBasic環(huán)境中,程序員不僅可以利用控件來創(chuàng)建對象,而且還可以建立自己的控件,這是Windows環(huán)境下編程的新概念。目前三十七頁\總數(shù)三百九十一頁\編于二十一點1.3.2對象與類

1.對

象對象(Object)是代碼和數(shù)據(jù)的集合??梢园褜ο罂闯扇粘I钪械母鞣N物體,如一支鋼筆、一輛汽車、一臺電腦都是一個對象。一臺電腦又可以拆分為主板、CPU、內存、外設等部件,這些部件又都分別是一個對象,因此電腦對象可以說是由多個“子”對象組成的,它可以稱為是一個對象容器(Container)。在VisualBasic6.0中,對象可以由系統(tǒng)設置好,直接供用戶使用,也可以由程序員自己設計。VisualBasic設計好的對象有:窗體、各種控件、菜單、屏幕、剪貼板等。用戶使用最多的是窗體和控件。目前三十八頁\總數(shù)三百九十一頁\編于二十一點1.3.2對象與類2.類類是同一種對象的統(tǒng)稱,是一個抽象的整體概念,也是創(chuàng)建對象實例的模板,而對象則是類的實例化。屬于同一類的所有對象具有同一組屬性、方法與事件,只是其屬性值不同,對事件的響應不同(取決于程序員的編程)。譬如,汽車是一個籠統(tǒng)的名稱,是整體概念,我們把汽車看成一個“類”,一輛輛具體的汽車(比如你的汽車、我的汽車)就是這個類的實例,也就是屬于這個類的對象。VisualBasic中工具箱上的控件是類,畫在窗體中的各控件則是類的事例化,即是對象。

目前三十九頁\總數(shù)三百九十一頁\編于二十一點1.3.3屬

屬性是對象的性質,對象中的數(shù)據(jù)就保存在屬性中。屬性是用來描述和反映對象特征的參數(shù)。每一種對象都有其屬性,屬性值決定了對象的外觀和行為。例如,“控件名稱”(Name)、“顏色”(Color)及“是否可見”(Visible)等屬性決定了對象展現(xiàn)給用戶的界面具有什么樣的外觀及功能。不同的對象具有的屬性不盡相同,如命令按鈕有“Caption”屬性而無“Text”屬性,文本框無“Caption”屬性而有“Text”屬性??丶傩缘脑O置一般有兩條途徑:(1)如果在界面設計時設置對象的屬性,需要使用屬性窗口。這時只要在屬性窗口中選中要修改的屬性,然后在右列中鍵入新的值即可設置對象的屬性。如標簽、文本框、列表框、圖片框控件的字體、顏色等屬性。(2)如果要在程序運行中動態(tài)地更改對象的屬性,可以使用VisualBasic的賦值語句,在代碼窗口中通過編程設置,其格式為:對象名.屬性名=屬性值其中“對象名.屬性名”是VisualBasic中引用對象屬性的方法,如下述代碼可以設置標簽控件Label1的標題為“第一個應用程序”:Label1.Caption="第一個應用程序"

目前四十頁\總數(shù)三百九十一頁\編于二十一點1.3.4方

方法是面向對象程序設計語言為編程者提供的用來完成特定操作的過程和函數(shù)。在VisualBasic中已將一些通用的過程和函數(shù)編寫好并封裝起來,作為方法供用戶直接調用,這給用戶的編程帶來了極大的方便。因為方法是面向對象的,所以在調用時一般要指明對象。對象方法的調用格式為:[對象.]方法[參數(shù)名表]其中,若省略了對象,表示是當前對象,一般指窗體。例如:在窗體Form1上打印輸出“VisualBasic程序設計”

可使用窗體的Print方法Form1.Print"VisualBasic程序設計"若當前窗體是Form1,則可寫為:Print"VisualBasic程序設計"

目前四十一頁\總數(shù)三百九十一頁\編于二十一點1.3.5對象事件與事件過程

1.事件事件是VisualBasic預先定義的、對象能夠識別的動作。每個控件都可以對一個或多個事件進行識別和響應,如窗體加載事件(Load)、鼠標單擊事件(Click)、鼠標雙擊事件(DblClick)等。事件是一種預先定義好的特定動作,由用戶或系統(tǒng)激活,在多數(shù)情況下,事件是通過用戶的交互操作產(chǎn)生的。例如,窗體上有一個名為“CmdOK”的命令按鈕對象,當鼠標指針被移動時,系統(tǒng)將跟蹤鼠標指針的位置,當鼠標在該對象上單擊一下,系統(tǒng)就給鼠標指針所指向的對象發(fā)送一個Click事件,如果該事件已編寫了程序代碼,系統(tǒng)則執(zhí)行過程的程序代碼,執(zhí)行結束后,控制權交還給系統(tǒng),并等待下一個事件。

目前四十二頁\總數(shù)三百九十一頁\編于二十一點1.3.5對象事件與事件過程2.事件過程事件過程是用來完成事件發(fā)生后所要執(zhí)行的操作。當一個對象察覺到某一事件發(fā)生時(如Click等),就會對事件產(chǎn)生響應,即執(zhí)行一段程序代碼,所執(zhí)行的這段程序代碼就稱為事件過程。對于窗體對象,其事件過程的形式如下:SubForm_事件過程名[(參數(shù)列表)]…(事件過程代碼)EndSub對于除窗體以外的對象,其事件過程的形式如下:Sub對象名_事件過程名[(參數(shù)列表)]…(事件過程代碼)EndSub例如,單擊名為cmdOk命令按鈕,使命令按鈕變?yōu)椴豢梢?,則對應的事件過程如下:SubcmdOK_Click()Cmd0k.Visible=FalseEndSub

目前四十三頁\總數(shù)三百九十一頁\編于二十一點1.4.1窗體的結構

同Windows環(huán)境下的應用程序窗口一樣,VisualBasic中的窗體也具有控制菜單、標題欄、“最大化”按鈕、“最小化”按鈕、“關閉”按鈕以及邊框等,如圖1-13所示。窗體的操作與Windows下的窗口操作一樣。通過鼠標左鍵拖動標題欄可以移動窗體;鼠標對準窗體邊框,當出現(xiàn)雙向箭頭時拖動鼠標可以改變窗體的大小。建立新窗體后,它的大小、背景顏色、標題及窗體名稱等特征需要根據(jù)應用程序的要求進行設置。

目前四十四頁\總數(shù)三百九十一頁\編于二十一點1.4.1窗體的結構圖1-13窗體的結構

“最小化”按鈕“最大化”按鈕“關閉”按鈕圖標控制菜單框邊框樣式標題目前四十五頁\總數(shù)三百九十一頁\編于二十一點1.4.2窗體的屬性

窗體的基本屬性有:Name、Left、Top、Height、Width、Visible、Enabled、Font、ForeColor、BackColor等。在VisualBasic中的大多數(shù)控件基本上都有這些屬性,在以后介紹其他對象時,這些屬性還將詳細介紹。1.Name屬性VisualBasic中任何對象都有Name屬性,在程序代碼中通過該屬性來引用、操作具體的對象。首次在工程中添加窗體時,該窗體的名稱被缺省為Form1;添加第二個窗體,其名稱被缺省為Form2,依此類推。最好給Name屬性設置一個有實際意義的名稱,如給一個程序的主控窗體命名為“MainFrm”。這樣在程序代碼中的意義就很清楚,程序的可讀性就好。

目前四十六頁\總數(shù)三百九十一頁\編于二十一點1.4.2窗體的屬性

2.Left、Top屬性窗體運行在屏幕中,屏幕是窗體的容器,因此窗體的Left、Top屬性值是相對屏幕左上角的坐標值。對于控件,Left、Top屬性值則是相對“容器”左上角的坐標值,其缺省單位是twip。1twip=1/20點=1/1440in=1/567cm3.Height、Width屬性返回或設置對象的高度和寬度。對于窗體,指的是窗口的高度和寬度,包括邊框和標題欄。對于控件,這些屬性使用控件所在“容器”的度量單位。圖1-14是屏幕(Screen)、窗體(Form1)和命令按鈕(Ok)的Left、Top、Height、Width屬性表示,讀者要注意Left、Top屬性值是相對“容器”左上角的坐標值。在VisualBasic中除了用屏幕、窗體作“容器”外,還有框架和圖片框對象可作“容器”。

目前四十七頁\總數(shù)三百九十一頁\編于二十一點1.4.2窗體的屬性圖1-14對象的Left、Top、Height、Width屬性Screen.HeightForm1.TopForm1.HeightOk.HeightOk.TopOk.LeftOk.WidthForm1.WidthForm1.LeftScreen.Width目前四十八頁\總數(shù)三百九十一頁\編于二十一點1.4.2窗體的屬性例1-1在窗體Form1被加載時,將其大小設置為屏幕大小的1/2,并居中顯示。通過窗體的Load事件來實現(xiàn)的程序代碼為:PrivateSubForm_Load() Form1.Width=Screen.Width/2 '設置窗體的寬度,Screen為屏幕對象

Form1.Height=Screen.Height/2'設置窗體的高度。'在水平方向上居中顯示。Form1.Left=(Screen.Width-Form1.Width)/2 '在垂直方向上居中顯示。Form1.Top=(Screen.Height-Form1.Height)/2EndSub

目前四十九頁\總數(shù)三百九十一頁\編于二十一點1.4.2窗體的屬性4.Caption標題屬性決定出現(xiàn)在窗體的標題欄上的文本內容,也是當窗體被最小化后出現(xiàn)在窗體圖標下的文本。如圖1-13中窗體的Caption屬性值是“VB窗體”5.字體Font屬性組uFontName屬性是字符型,決定對象上正文的字體(缺省為宋體)。uFontSize屬性是整型,決定對象上正文的字體大?。ㄈ笔?磅)。uFontBold屬性是邏輯型,決定對象上正文是否是粗體(缺省為False)。uFontItalic屬性是邏輯型,決定對象上正文是否是斜體(缺省為False)。uFontStrikeThru屬性是邏輯型,決定對象上正文是否加一刪除線(缺省為False)。uFontUnderLine屬性是邏輯型,決定對象上正文是否帶下劃線(缺省為False)。目前五十頁\總數(shù)三百九十一頁\編于二十一點1.4.2窗體的屬性注意:如果使用窗體或其他“容器”對象無效,則在其中的所有控件也將無效。

例1-2下面的程序是當文本框Text1不包含任何文本時,使命令按鈕CmdOk無效。PrivateSubText1_Change() IfText1.Text=""Then '查看文本框是否為空

CmdOK.Enabled=False '使按鈕無效

Else CmdOK.Enabled=True '使按鈕有效

EndIfEndSub

目前五十一頁\總數(shù)三百九十一頁\編于二十一點1.4.2窗體的屬性7.Visible屬性用于確定一個窗體或控件為可見或隱藏。要在啟動時隱藏一個對象,可在設計時將Visible屬性設置為False,還可在代碼中設置該屬性使控件在運行時隱藏。8.BackColor屬性和ForeColor屬性BackColor屬性用于返回或設置對象的背景顏色,F(xiàn)oreColor屬性用于返回或設置在對象里顯示圖片和文本的前景顏色,它們是十六進制長整型數(shù)據(jù),在VisualBasic中通常用Windows運行環(huán)境的紅-綠-藍(RGB)顏色方案,使用調色板或在代碼中使用RGB或QBColor函數(shù)指定標準RGB顏色。例如,將窗體Form1的背景色設置為紅色,則可使用:Form1.BackColor=RGB(255,0,0)也可用十六進制長整型數(shù)據(jù)或VisualBasic系統(tǒng)內部常量給BackColor屬性賦值。例如:Form1.BackColor=&HFF&它等價于:Form1.BackColor=vbRed

目前五十二頁\總數(shù)三百九十一頁\編于二十一點1.4.2窗體的屬性9.MaxButton——“最大化”按鈕和MinButton——“最小化”按鈕當其值為Ture時,有“最大化”或“最小化”按鈕;其值為False時,則無。10.Icon控制圖標屬性返回或設置窗體左上角顯示或最小化時顯示的圖標,它必須在ControlBox屬性設置為Ture才有效。缺省設置的圖標是,單擊屬性窗口中Icon屬性值后面的按鈕,打開“加載圖標”對話框,允許打開一個圖標文件(*.Ico和*.Cur)作為這個屬性的值。11.ControlBox控制菜單框屬性其值設置為Ture時,有控件菜單;設置為False時,則無控件菜單,同時窗體也無“最大化”按鈕和“最小化”按鈕,即使MaxButton屬性和MinButton屬性設置為Ture。目前五十三頁\總數(shù)三百九十一頁\編于二十一點1.4.2窗體的屬性12.Picture圖片屬性設置窗體中要顯示的圖片。一般可顯示所有類型的圖片文件。13.BorderStyle邊框風格屬性

通過改變BorderStyle屬性,可以控制窗體如何調整大小,它可取6種值,如表1-1所示。

屬性值意義數(shù)值系統(tǒng)常量0VbBSNone無(沒有邊框或與邊框相關的元素)1VbFixedSingle固定單邊框??梢园刂撇藛慰?、標題欄、“最大化”按鈕和“最小化”按鈕。只有使用“最大化”和“最小化”按鈕才能改變窗體大小2VbSizable(缺省值)可調整大小的邊框3VbFixedDoubleialog固定對話框。可以包含控制菜單框和標題欄,不包含“最大化”和“最小化”按鈕,不能改變窗體尺寸4vbFixedToolWindow固定工具窗口。不能改變窗體尺寸,顯示“關閉”按鈕并用縮小的字體顯示標題欄,窗體不在任務欄中顯示5vbSizableToolWindow可變尺寸工具窗口??梢愿淖兇绑w大小,顯示“關閉”按鈕并用縮小的字體顯示標題欄,窗體不在任務欄中顯示表1-1窗體對象BorderStyle屬性的取值及意義

目前五十四頁\總數(shù)三百九十一頁\編于二十一點1.4.2窗體的屬性14.WindowsState屬性設置窗體運行的狀態(tài),它可取3種值,對應于3種狀態(tài),如表1-2所示。15.AutoRedraw屬性該屬性決定窗體被隱藏或被另一窗口覆蓋之后重新顯示時,是否重新還原該窗體被隱藏或覆蓋以前的畫面。即是否重畫如Circle、Line、Pset和Print等方法的輸出。當AutoRedraw屬性為True時,重新還原該窗體以前的畫面;為False時,則不重畫。

屬性值說明數(shù)值系統(tǒng)常量0VbNormal正常窗口狀態(tài),有窗口邊界1vbMinimized最小化狀態(tài),以圖標方式運行2vbMaximized最大化狀態(tài),無邊框,充滿整個屏幕目前五十五頁\總數(shù)三百九十一頁\編于二十一點1.4.2窗體的屬性注意:在窗體Load事件中如果要使用Print方法在窗體上打印輸出,就必須先將窗體的AutoRedraw屬性設置為True;否則窗體啟動后將沒有輸出結果。這是因為窗體是在Load事件執(zhí)行完后才顯示的。讀者一下子要記住這些屬性,是有一定困難的,要熟悉并應用這些窗體屬性,最好的辦法是上機實踐。在“屬性”窗口中更改窗體的一些屬性,然后運行該應用程序并觀察修改的效果。目前五十六頁\總數(shù)三百九十一頁\編于二十一點1.4.3窗體的事件

與窗體有關的事件較多,VisualBasic6.0中有30多個,讀者只需掌握一些常用事件,了解這些事件的觸發(fā)機制。下面對幾個常用窗體事件作一下介紹:1.Click事件在程序運行時單擊窗體內的某個位置,VisualBasic將調用窗體的Form_Click事件。如果單擊的是窗體內的控件,則只能調用相應控件的Click事件。2.DblClick事件

程序運行時雙擊窗體內的某個位置,就觸發(fā)了兩個事件,第一次按動鼠標時,觸發(fā)Click事件,第二次產(chǎn)生DblClick事件。

目前五十七頁\總數(shù)三百九十一頁\編于二十一點1.4.3窗體的事件3.Load事件在程序運行時,當窗體被裝入工作區(qū)時,將觸發(fā)它的Load事件,所以該事件通常用來在啟動應用程序時對控件屬性和變量初始化。4.Unload事件卸載窗體時觸發(fā)該事件。5.Resize事件當窗體大小發(fā)生改變時,將觸發(fā)一個Resize事件。6.Activate事件當窗體由非活動窗體變?yōu)榛顒哟绑w,即當窗體得到焦點時觸發(fā)該事件。

目前五十八頁\總數(shù)三百九十一頁\編于二十一點1.4.4窗體的方法

窗體常用的方法有:Print(打印輸出)、Cls(清除)、Show(顯示)、Hide(隱藏)以及(Move)移動等。1.Print方法用于在窗體上輸出信息,其使用格式為:窗體名.Print[輸出項列表]例如:Printx,y,"WINDOWS",則在窗體上輸出x,y的值和“WINDOWS”。關于Print方法的使用在節(jié)作詳細介紹。2.Cls(清除)方法Cls方法用來清除運行時在窗體上顯示的文本或圖形,它有如下格式:窗體名.ClsCls方法用來清除運行時在窗體上顯示的文本或圖形,當使用C1s方法后,窗體的當前坐標屬性CurrentX和CurrentY被設置為0。

目前五十九頁\總數(shù)三百九十一頁\編于二十一點1.4.4窗體的方法3.Move(移動)方法Move方法用來在屏幕上移動窗體,它有如下格式:窗體名.MoveLeft[,Top[,Width[,Height]]]其中,Left、Top、With、Height均為單精度數(shù)值型數(shù)據(jù),分別用來表示窗體相對于屏幕左邊緣的水平坐標、相對于屏幕頂部的垂直坐標、窗體的新寬度和新高度。Move方法至少需要一個Left參數(shù)值,其余均可省略。如果要指定其余參數(shù)值,則必須按順序依次給定前面的參數(shù)值。例如,不能只指定Width值,而不指定Left和Top值,但允許只指定前面部分的參數(shù),而省略后面部分。例如,允許只指定Left和Top,而省略Width和Height,此時窗體的寬度和高度在移動后保持不變。

目前六十頁\總數(shù)三百九十一頁\編于二十一點1.4.4窗體的方法例1-3使用Move方法移動一個窗體。雙擊窗體,窗體移動并定位在屏幕的左上角,同時窗體的長寬也縮小一倍。為了實現(xiàn)這一功能,可以在窗體Forml的“代碼”窗口中輸入下列代碼:PrivateSubForm_DblClick()Form1.Move0,0,Form1.Width/2,Form1.Height/2EndSub

目前六十一頁\總數(shù)三百九十一頁\編于二十一點1.4.4窗體的方法4.Show(顯示)方法Show方法用于在屏幕上顯示一個窗體,使指定的窗體在屏幕上可見,調用

Show方法與設置窗體Visible屬性為

True具有相同的效果。其調用格式如下:窗體名.Show[vbModal|vbModeless]【說明】(1)該方法有一個可選參數(shù),它有兩種可能值:vbModal或vbModeless,若未指定參數(shù),則缺省為vbModal。Show方法的可選參數(shù)表示從當前窗口或對話框切換到其他窗口或對話框之前用戶必須采取的動作。當參數(shù)為vbModal時,要求用戶必須對當前的窗口或對話框做出響應,才能切換到本應用程序的其他窗口。(2)如果要顯示的窗體事先未裝入,系統(tǒng)將自動調用Load命令裝入該窗體再顯示。目前六十二頁\總數(shù)三百九十一頁\編于二十一點1.4.4窗體的方法5.Hide(隱藏)方法Hide方法用于使指定的窗體不顯示,但不從內存中刪除窗體。其調用格式為:窗體名.Hide當一個窗體從屏幕上隱去時,其Visible屬性被設置成False,并且該窗體上的控件也變得不可訪問,但對運行程序間的數(shù)據(jù)引用無影響。若要隱去的窗體沒有裝入,則Hide方法會裝入該窗體但不顯示。下面是一個使用Hide和Show方法的例子。

目前六十三頁\總數(shù)三百九十一頁\編于二十一點1.4.4窗體的方法例1-4實現(xiàn)將指定的窗體在屏幕上進行顯示或隱藏的切換。為了實現(xiàn)這一功能,可以在窗體Forml的“代碼”窗口中輸入下列代碼:PrivateSubForm_Click()Form1.Hide '隱藏窗體

MsgBox"單擊確定按鈕,使窗體重現(xiàn)屏幕" '顯示信息

Form1.Show '重現(xiàn)窗體EndSub窗體還有Line、Pset、Circle和Refresh等方法,這些方法將在第6章詳細討論。目前六十四頁\總數(shù)三百九十一頁\編于二十一點1.4.5多窗體

建立新工程時,系統(tǒng)會自動創(chuàng)建一個窗體,但除了簡單的練習外,真正的商業(yè)化的應用程序均需要使用多個窗體。因此,還需要了解關于多窗體的基本操作。(1)添加窗體。選擇“工程”菜單中“添加窗體”命令,VisualBasic將顯示如圖1-15所示的窗口;選擇“窗體”后單擊“打開”按鈕即添加了新窗體。此后如打開“工程資源管理器”,會顯示新增的窗體,如圖1-16所示。

圖1-15“添加窗體”窗口

圖1-16“工程資源管理器”窗口

目前六十五頁\總數(shù)三百九十一頁\編于二十一點1.4.5多窗體(2)刪除窗體。右擊需刪除的窗體,在彈出的快捷菜單中選擇“移除...”選項。(3)運行時顯示窗體。運行時顯示窗體通過調用Show方法實現(xiàn)。如執(zhí)行語句“Form2.Show”

顯示窗體Form2。(4)關閉窗體。通過調用Unload方法實現(xiàn)。如執(zhí)行語句“UnloadForm2”關閉窗體Form2。(5)設置啟動對象。一個工程(如工程1)若有多個窗體,其缺省狀態(tài)下通常由Form1啟動,但可以通過選擇“工程”菜單的“工程1屬性”選項,在打開的對話框中設置啟動對象,如圖1-17所示。VisualBasic的啟動對象可以是任何一個窗體,也可是一個用戶定義的主過程Submain,該過程必須寫在標準模塊中。讀者詳見第4章。

目前六十六頁\總數(shù)三百九十一頁\編于二十一點1.4.5多窗體圖1-17“工程屬性”對話框

目前六十七頁\總數(shù)三百九十一頁\編于二十一點1.4.6與窗體加載與卸載過程相關的事件

在窗體加載與卸載過程中,系統(tǒng)將發(fā)生一系列的窗體事件,主要的事件名稱及事件發(fā)生的先后順序如圖1-18和圖1-19所示,它們分別說明了在窗體加載和卸載過程中所用的語句、方法以及所觸發(fā)的事件的先后順序。

圖1-18窗體的加載過程Show方法Activate自動建立Load語句建立窗體顯示在屏幕上裝入內存所觸發(fā)的事件InitializeLoadResizePaintGotFocus隱藏窗體從內存中刪除UnLoad方法Hide方法QueryUnloadUnloadTerminate圖1-19窗體的卸載過程DeActivateLostFocus目前六十八頁\總數(shù)三百九十一頁\編于二十一點1.5.1VisualBasic應用程序的組成

一個VisualBasic的應用程序也稱為一個工程,由若干問所組成。其中工程文件(*.Vbp)用來管理構成應用程序的所有文件,如:窗體文件(.Frm)、標準模塊文件(.Bas)、類模塊文件(.Cls)等等,它們的關系如圖1-20所示?!菊f明】(1)每個窗體文件(也稱窗體模塊)包含窗體本身的數(shù)據(jù)(屬性)、方法和事件過程(即代碼部分,其中有為響應特定事件而執(zhí)行的指令)。窗體還包含控件,每個控件都有自己的屬性、方法和事件過程集。除了窗體和各控件的事件過程,窗體模塊還可包含通用過程,是用戶自定義的子過程和函數(shù)過程,它對來自任何事件過程的調用都做出響應。

(2)標準模塊是由那些與特定窗體或控件無關的代碼組成的另一類型的模塊。如果一個過程可能用來響應幾個不同對象中的事件,應該將這個過程放在標準模塊中,而不必在每一個對象的事件過程中重復相同的代碼。目前六十九頁\總數(shù)三百九十一頁\編于二十一點1.5.1VisualBasic應用程序的組成

(3)類模塊與窗體模塊類似,只是沒有可見的用戶界面??梢允褂妙惸K創(chuàng)建含有方法和屬性代碼的自己的對象,這些對象可被應用程序內的過程調用。標準模塊只包含代碼,而類模塊既包含代碼又包含數(shù)據(jù),可視為沒有物理表示的控件。

一個或若干個標準模塊(.Bas)文件VB工程(*.Vbp)類模塊(.Cls)文件一個或若干個窗體模塊(*.Frm)文件1各種控件2.窗體及控件的事件過程3.自定義子過程(Sub)4.自定義函數(shù)過程(Function)1.自定義子過程(Sub)2.自定義函數(shù)過程(Function)圖1-20VisualBasic應用程序中各文件的關系

目前七十頁\總數(shù)三百九十一頁\編于二十一點1.5.1VisualBasic應用程序的組成除了上面的文件外,一個工程還包括以下幾個附屬文件,它們沒法在工程資源管理窗口中查看或管理。(1)窗體的二進制數(shù)據(jù)文件(.frx):如果窗體上控件的數(shù)據(jù)屬性含有二進制屬性(例如圖片或圖標),當保存窗體文件時,就會自動產(chǎn)生同名的.frx文件。(2)資源文件(.res):包含著不必重新編輯代碼就可以改變的位圖、字符串和其他數(shù)據(jù)。該文件是可選項。(3)ActiveX控件的文件(.ocx):ActiveX控件的文件是一段設計好的可以重復使用的程序代碼和數(shù)據(jù),可以添加到工具箱,并可像其他控件一樣在窗體中使用。該文件是可選項。目前七十一頁\總數(shù)三百九十一頁\編于二十一點1.5.2VisualBasic應用程序的工作方式

VisualBasic應用程序采用的是以事件驅動應用程序的工作方式。事件是窗體或控件所能識別的動作。在響應事件時,事件驅動應用程序執(zhí)行相應事件的程序代碼。VisualBasic的每一個窗體和控件都有一個預定義的事件集。如果其中有一個事件發(fā)生,并且在關聯(lián)的事件過程中存在代碼,VisualBasic則執(zhí)行該代碼

注意:有些事件伴隨其他事件發(fā)生。例如,在DblClick事件發(fā)生時,Click、MouseDown和MouseUp事件也會發(fā)生。

目前七十二頁\總數(shù)三百九十一頁\編于二十一點1.5.3創(chuàng)建應用程序的步驟

創(chuàng)建VisualBasic應用程序一般有以下幾個步驟:(1)新建工程。(2)創(chuàng)建應用程序界面。使用工具箱在窗體上放置所需控件,其中,窗體是用戶進行界面設計時在其上放置控件的窗口,它是創(chuàng)建應用程序界面的基礎。(3)設置屬性值。通過這一步驟來改變對象的外觀和行為。屬性值可通過屬性窗口設置,也可通過程序代碼設置。(4)對象事件過程的編程。通過代碼窗口為對象的相關事件編寫代碼。(5)保存文件。運行調試程序之前,一般要先保存文件。(6)程序運行與調試。測試所編程序,若運行結果有錯或對用戶界面不滿意,則可通過前面的步驟修改,繼續(xù)測試直到運行結果正確、用戶滿意為止,再次保存修改后的程序。

目前七十三頁\總數(shù)三百九十一頁\編于二十一點1.6一個簡單的VisualBasic程序的創(chuàng)建實例

本節(jié)通過一個簡單的VisualBasic程序建立與調試實例,向讀者介紹VisualBasic應用程序的開發(fā)過程,VisualBasic集成開發(fā)環(huán)境的使用。使讀者初步掌握VisualBasic程序的開發(fā)過程,理解VisualBasic程序的運行機制。讀者可以通過上機,自己動手建立一個簡單的VisualBasic程序。

例1-5設計一個程序,當程序運行后,在窗體的正中間顯示“你好!請輸入你的姓名”,焦點定在其下的文本框中(如圖1-21所示),當用戶輸入姓名并單擊“確定”按鈕后,在窗體中用黑體、12磅、紅色字顯示“XXX同學,你好!祝你學好VB程序設計”,同時窗體上出現(xiàn)兩個命令按鈕“繼續(xù)”和“結束”,其中“XXX”是用戶輸入的姓名,例如,當用戶輸入“王五”,單擊“確定”按鈕后,就會出現(xiàn)如圖1-22所示的界面,如果單擊“繼續(xù)”按鈕,則又回到初始運行狀態(tài);單擊“結束”按鈕即結束程序運行。目前七十四頁\總數(shù)三百九十一頁\編于二十一點1.6一個簡單的VisualBasic程序的創(chuàng)建實例

分析:本應用程序的界面設計用到了3個VisualBasic基本控件,即命令按鈕、標簽和文本框,這3個基本控件是VisualBasic程序設計中使用最多的控件,下面首先對這3個控件作些簡單介紹,更詳細的介紹讀者可閱讀5.1節(jié)。

圖1-21程序運行后初始界面圖1-22單擊窗體后的程序界面

目前七十五頁\總數(shù)三百九十一頁\編于二十一點1.6一個簡單的VisualBasic程序的創(chuàng)建實例1.命令按鈕命令按鈕(CommandBttion)是用來接受用戶的操作信息,激發(fā)某些事件,實現(xiàn)一個命令的啟動、中斷和結束等操作的。命令按鈕在工具箱中的圖標為

,在程序設計中該類對象名的前綴為cmd。命令按鈕的基本屬性:Name、Height、Width、Top、Left、Enabled、Visible、Font等,與窗體的使用相同,顯示在命令按鈕上的信息是標題屬性(Caption屬性)。通常使用的是單擊事件(Click事件)。2.標簽標簽(Label)控件可以顯示用戶不能直接改變的文本,在窗體上顯示說明性

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論