




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一1章VisualBasic的基本概念
1.1VisualBasic概述
1.VisualBasic是什么
VisualBasic(簡稱VB)是Microsoft公司開發(fā)的一種通用的基于對(duì)象的程
序設(shè)計(jì)語言。
“Visual”指的是開發(fā)圖形用戶界面(GUI)的方法——不需編寫大量代碼去
描述界面元素的外觀和位置,而只要把預(yù)先建立的對(duì)象add到屏幕上的一點(diǎn)即
可。
"Basic”指的是BASIC(BeginnersAll-PurposeSymbolicInstructionCode)
語言,一種在計(jì)算技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的語言。VisualBasic在原有
BASIC語言的基礎(chǔ)上進(jìn)一步發(fā)展,至今包含了數(shù)百條語句、函數(shù)及關(guān)鍵詞,其
中很多和WindowsGUI有直接關(guān)系。專業(yè)人員可以用VisualBasic實(shí)現(xiàn)其它
任何Windows編程語言的功能,而初學(xué)者只要掌握幾個(gè)關(guān)鍵詞就可以建立實(shí)用
的應(yīng)用程序。VisualBasicScriptingEdition(VBScript)是廣泛使用的腳本語言,
它是VisualBasic語言的子集,可嵌入HTML語言中,用于網(wǎng)頁設(shè)計(jì),如ASP
(ActiveServerPage)文件。
VB簡單易學(xué),通用性強(qiáng),用途廣泛。
2.VB的功能
VB可以用于可以開發(fā)多媒體、數(shù)據(jù)庫、網(wǎng)絡(luò)、圖形等方面的應(yīng)用程序。
?數(shù)據(jù)訪問特性允許對(duì)包括MicrosoftSQLServer和其它企業(yè)數(shù)據(jù)庫在
內(nèi)的大部分?jǐn)?shù)據(jù)庫格式建立數(shù)據(jù)庫和前端應(yīng)用程序,以及可調(diào)整的服務(wù)器端部
件。
?有了ActiveX(TM)技術(shù)就可使用其它應(yīng)用程序提供的功能,例如
MicrosoftWord字處理器,MicrosoftExcel電子數(shù)據(jù)表及其它Windows應(yīng)用
程序。
Internet能力強(qiáng)大,很容易在應(yīng)用程序內(nèi)通過Internet或intranet訪
問文檔和應(yīng)用程序,或者創(chuàng)建Internet服務(wù)器應(yīng)用程序。
?已完成的應(yīng)用程序是使用VisualBasic虛擬機(jī)真正.exe文件,可以
自由發(fā)布。
3.VB的發(fā)展
VB是伴隨Windows操作系統(tǒng)而發(fā)展的,在中國使用較廣的版本有VB4.0、
VB5.0、VB6.0。
VB4.0是為配合WIN95的問世于1995年推出的,既可用于編寫WIN3.X
平臺(tái)的16位應(yīng)用程序也可編寫WIN95平臺(tái)的32位應(yīng)用程序;VB5.0主要用于
編寫WIN95平臺(tái)的32位應(yīng)用程序,較之VB4.0主要擴(kuò)展了數(shù)據(jù)庫、ActiveX和
Internet方面的功能;VB6.0是與WIN98配合于1998年推出的,進(jìn)一步加強(qiáng)了
數(shù)據(jù)庫、Internet和創(chuàng)建控件方面的功能。
4.VB中幾個(gè)常用術(shù)語
工程(Project):是指用于創(chuàng)建一個(gè)應(yīng)用程序的文件的集合。
對(duì)象(Object):可控制的某個(gè)東西,VB中主要有兩類對(duì)象:窗體和控
件。
窗體(Form):應(yīng)用程序的用戶界面,即windows0
控件(Control):指的是各種按鈕、標(biāo)簽、文本框等。
屬性(Property):是指對(duì)象的特征,如大小、標(biāo)題或顏色。
ActiveX:ActiveX是基于ComponentObjectModel(COM)的可視化控
件結(jié)構(gòu)的商標(biāo)名稱。它是一種封裝技術(shù),提供封裝COM組件并將其置入應(yīng)用
程序(如Web瀏覽器)的一種方法。
ComponentsObjectModel(COM):是軟件組件互相通訊的--種方式。它
是一種二進(jìn)制和網(wǎng)絡(luò)標(biāo)準(zhǔn),允許任意兩個(gè)組件互相通訊,而不管它們是在什么計(jì)
算機(jī)上運(yùn)行(只要計(jì)算機(jī)是相連的),不管各計(jì)算機(jī)運(yùn)行的是什么操作系統(tǒng)(只
要該操作系統(tǒng)支持COM),也不管該組件是用什么語言編寫的。
5.VB的系統(tǒng)特性
(1)工程限制
1)代碼限制:
可被加載到窗體、類或標(biāo)準(zhǔn)模塊的代碼總數(shù)限于65,534行。?行代
碼限于1023個(gè)字節(jié)。在一行中的實(shí)際文本之前最多只能有256個(gè)空格的前
導(dǎo),在個(gè)邏輯行中最多只能有25個(gè)續(xù)行符(_)。
2)過程、類型和變量
對(duì)每個(gè)模塊的過程數(shù)沒有限制。每個(gè)過程可包含至多64K的代碼。如
果過程或模塊超過這一限制,VisualBasic便產(chǎn)生編譯時(shí)間錯(cuò)誤。如果遇到這種
錯(cuò)誤,可將特別大的過程分割成若干個(gè)較小的過程,或?qū)⒛K級(jí)聲明移到另一模
塊,來避免此類錯(cuò)誤發(fā)生。
VisualBasic用表來保存代碼中的標(biāo)識(shí)符名(變量、過程、常量等)。
每個(gè)表限于64K。
3)動(dòng)態(tài)鏈接庫聲明表
每個(gè)窗體和代碼模塊使用一個(gè)描述動(dòng)態(tài)鏈接庫入口點(diǎn)的結(jié)構(gòu)的表。每
個(gè)結(jié)構(gòu)約40個(gè)字節(jié),表的大小限于64K,形成每個(gè)模塊大約有1500個(gè)聲明。
4)工程名表
整個(gè)應(yīng)用程序用一張包含所有名稱的表。這些名稱包括:
常量名、變量名、自定義的類型定義名、模塊名、DLL過程
聲明名。
對(duì)工程名表總大小沒有限制,但是區(qū)分大小寫的條目不得超過32K。
如果超過了32K的限制,可以在不同的模塊中重新使用private標(biāo)識(shí)符以限制
區(qū)分大小寫的條目數(shù)到達(dá)32K。
5)輸入表
在不同的模塊中每引用一個(gè)標(biāo)識(shí)符,便在輸入表中創(chuàng)建個(gè)條目。每
一個(gè)這樣的入口最小是24字節(jié),但限于64K,這樣每個(gè)模塊大約可以有2000
個(gè)引用。
6)模塊條目表
該表中每個(gè)模塊最多達(dá)125個(gè)字節(jié),但有64K的總限制,這樣每
個(gè)工程大約可以產(chǎn)生400個(gè)模塊。
VB中的變量名不多于255個(gè)字符,而窗體、控件、模塊和類名
不多于40個(gè)字符。
(2)工程文件格式
VB在創(chuàng)建和編譯工程時(shí)要產(chǎn)生許多文件,分為:設(shè)計(jì)時(shí)文件、雜項(xiàng)開發(fā)
文件和運(yùn)行時(shí)文件。
設(shè)計(jì)時(shí)文件是工程的建造塊,例如基木模塊(.bas)和窗體模塊(.frm)o
雜項(xiàng)文件是由VisualBasic開發(fā)環(huán)境中的各種不同的進(jìn)程和函數(shù)產(chǎn)生的,
例如打包和展開向?qū)膶傥募?.dep)。
開發(fā)應(yīng)用程序時(shí)會(huì)產(chǎn)生各種設(shè)計(jì)時(shí)文件和其它雜項(xiàng)文件,如下表所歹h
擴(kuò)展名描述擴(kuò)展名描述
.bas基本模塊.frm窗體文件
.cis類模塊.frx二進(jìn)制窗體文件
.res資源文件.vbpVisua1Basic工程文件
.ctx用戶控件的二進(jìn)制文件?Pgx二進(jìn)制屬性頁文件
.dca活動(dòng)的設(shè)計(jì)器的高速緩存.ctl用戶控件文件
.ddf打包和展開向?qū)AB信息.tlb遠(yuǎn)程自動(dòng)化類型庫文件
文件
.dep打包和展開向?qū)膶傥募?vbgVisualBasic組工程文件
.dobActiveX文檔窗體文件.vbl控件許可文件
.doxActiveX文檔二進(jìn)制窗體文.dws部署向?qū)_本文件
件
.dsr活動(dòng)的設(shè)計(jì)器文件.vbr遠(yuǎn)程自動(dòng)化注冊(cè)文件
.dsx活動(dòng)的設(shè)計(jì)器的二進(jìn)制文件.vbwVisualBasic工程工作空間
文件
.log加載錯(cuò)誤的口志文件.vbz向?qū)Оl(fā)射文件
.oca控件類型庫緩存文件.wetWebClassHTML模板
?pag屬性頁文件
編譯應(yīng)用程序時(shí),所有必須的設(shè)計(jì)時(shí)文件都被包括在運(yùn)行時(shí)可執(zhí)行文件中。運(yùn)行
時(shí)文件如下表所列:
擴(kuò)展名描述
.dll運(yùn)行中的ActiveX部件
.exe可執(zhí)行文件或ActiveX部件
.OCXActiveX控件
.vbdActiveX文檔狀態(tài)文件
.wetWebClassHTML模板
1.2VB6.0的集成開發(fā)環(huán)境簡介
VB集成開發(fā)環(huán)境(IDE------IntegratedDevelopingEnvironment)由以下元素
組成:
1.標(biāo)題欄
用于顯示正在開發(fā)或調(diào)試的工程名和系統(tǒng)的工作狀態(tài)(設(shè)計(jì)態(tài)、運(yùn)行態(tài)、
中止態(tài))。
2.菜單欄
文件9翁輯⑥視圖也)工程國)格式。)調(diào)試也)運(yùn)行如查詢也)圖表Q)工具d)外接程序也)窗口也)幫目
用于顯示所使用的VisualBasic命令。VB6.0標(biāo)準(zhǔn)菜單包括:
3.工具欄
鹿,H?唱|田。|%電圈觸|c>II?|幽囹后智史國于1tlo
在編程環(huán)境下用于快速訪問常用命令。缺省情況下,啟動(dòng)VB后顯示“標(biāo)
準(zhǔn)”工具欄,附加的編輯、窗體設(shè)計(jì)和調(diào)試的工具欄可以從“視圖”菜單上的
“工具欄”命令中移進(jìn)或移出。
4.窗體設(shè)計(jì)器
用來設(shè)計(jì)應(yīng)用程序的界面。啟動(dòng)VB后,窗體設(shè)計(jì)器中自動(dòng)出現(xiàn)一個(gè)名為
Forml的空白窗體,可以在該窗體中添加控件、圖形和圖片等來創(chuàng)建所希望的外
觀,窗體的外觀設(shè)計(jì)好后,從菜單中選擇“文件”-“保存窗體”~在保存對(duì)話
框中給出合適的文件名(注意擴(kuò)展名),并選擇所需的保存位置一確定。需要再
設(shè)計(jì)另一個(gè)窗體時(shí),單擊工具欄上的“添加窗體”按鈕即可。
5.控件(工具)箱
由一組控件按鈕組成,用于設(shè)計(jì)時(shí)在窗體中放置控件。除了缺省的工具箱布
局之外,還可以通過從上下文菜單中選定“添加選項(xiàng)卡”并在結(jié)果選項(xiàng)卡中添加
控件來創(chuàng)建自定義布局。
6.彈出式(上下文)菜單
在要使用的對(duì)象上單擊鼠標(biāo)右鍵即可打開快捷菜單,其上會(huì)出現(xiàn)與當(dāng)前對(duì)象
相關(guān)的經(jīng)常執(zhí)行的操作,以加快操作速度。
7.工程管理器窗口
用于瀏覽工程中所包含的窗體和模塊,還可以從中查看代碼、查看對(duì)象。
8.屬性窗口
是VB中一個(gè)比較復(fù)雜的窗口,其中列出了對(duì)選定窗體和控件的屬性設(shè)置
值。VB中正是通過改變屬性來改變對(duì)象的特征,如大小、標(biāo)題或顏色。
9.對(duì)象瀏覽器
列出工程中有效的對(duì)象,并提供在編碼中漫游的快速方法??梢允褂谩皩?duì)象
瀏覽器”瀏覽在VB中的對(duì)象和其它應(yīng)用程序,查看對(duì)那些對(duì)象有效的方法和
屬性,并將代碼過程粘貼進(jìn)自己的應(yīng)用程序。
10.對(duì)象瀏覽器
右擊窗體中的對(duì)象、從工程管理器中點(diǎn)“查看代碼”按鈕。
11.窗體布局窗口
FormLayoutwindow允許使用表示屏幕的小圖象來布置應(yīng)用程序中各窗體
的位置。
12.立即、本地和監(jiān)視窗口這些附加窗口是為調(diào)試應(yīng)用程序提供的,它們只在
IDE之中運(yùn)行應(yīng)用程序時(shí)才有效。
1.3面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念
1.基本術(shù)語
(1)對(duì)象和對(duì)象類
對(duì)象是代碼和數(shù)據(jù)的組合,可以作為一個(gè)單位來處理。對(duì)象可以是應(yīng)用程序
的一部分,比如可以是控件或窗體。整個(gè)應(yīng)用程序也是一?個(gè)對(duì)象。在VB中可
能用到的兒種類型的對(duì)象:
示例描述
命令按鈕窗體上的控件,象命令按鈕和框架,它們都是對(duì)象。
窗體VisualBasic工程中的每一個(gè)窗體都是獨(dú)立的對(duì)象。
數(shù)據(jù)庫數(shù)據(jù)庫是對(duì)象,并且還包含其他對(duì)象,如字段、索引等。
圖表MicrosoftExcel中的圖表是對(duì)象。
VB中的每個(gè)對(duì)象都是用類定義的。用餅干模子和餅干之間的關(guān)系作比,就會(huì)
明白對(duì)象和它的類之間的關(guān)系。餅干模子是類。它確定了每塊餅干的特征,比如
大小和形狀。用類創(chuàng)建對(duì)象,對(duì)象就是餅干。類是面向?qū)ο蟪绦蛟O(shè)計(jì)的核心技術(shù),
可以理解成一種定義了對(duì)象行為和外觀的模板;把對(duì)象看作是類的原原木本的復(fù)
制品,
類具有繼承性、封裝性、多態(tài)性、抽象性。
(2)屬性
屬性是對(duì)對(duì)象特性的描述,VB為每一類對(duì)象都規(guī)定了若干屬性,設(shè)計(jì)中可
以改變具體對(duì)象的屬性值。比如窗體的背景顏色、高度與寬度。
(3)事件(Event)
事件是發(fā)生在對(duì)象上的動(dòng)作。事件的發(fā)生不是隨意的,某些事件僅發(fā)生在某
些對(duì)象上。
在VB中事件的調(diào)用形式是:
PrivateSub對(duì)象名_事件名
(事件內(nèi)容)
EndSub
(4)方法(Method)
方法指的是控制對(duì)象動(dòng)作行為的方式。它是對(duì)象本身內(nèi)含的函數(shù)或過程,
它也是一個(gè)動(dòng)作,是一個(gè)簡單的不必知道細(xì)節(jié)的無法改變的事件,但不稱作事件;
同樣,方法也不是隨意的,一些對(duì)象有一些特定的方法。在VB里方法的調(diào)用形
式是:
對(duì)象名.方法名
2.屬性、方法和事件之間的關(guān)系
VB對(duì)象具有屬性、方法和事件。屬性是描述對(duì)象的數(shù)據(jù);方法告訴對(duì)象應(yīng)
做的事情;事件是對(duì)象所產(chǎn)生的事情,事件發(fā)生時(shí)可以編寫代碼進(jìn)行處理。
VB的窗體和控件是具有自己的屬性、方法和事件的對(duì)象??梢园褜傩钥醋?/p>
一個(gè)對(duì)象的性質(zhì),把方法看作對(duì)象的動(dòng)作,把事件看作對(duì)象的響應(yīng)。
日常生活中的對(duì)象,如小孩玩的氣球同樣具有屬性、方法和事件。氣球的屬
性包括可以看到的一些性質(zhì),如它的直徑和顏色。其它一些屬性描述氣球的狀態(tài)
(充氣的或未充氣的)或不可見的性質(zhì),如它的壽命。通過定義,所有氣球都具
有這些屬性;這些屬性也會(huì)因氣球的不同而不同。
氣球還具有本身所固有的方法和動(dòng)作。如:充氣方法(用氯氣充滿氣球的動(dòng)
作),放氣方法(排出氣球中的氣體)和上升方法(放手讓氣球飛走)。所有的
氣球都具備這些能力。
氣球還有預(yù)定義的對(duì)某些外部事件的響應(yīng)。例如,氣球?qū)Υ唐扑氖录憫?yīng)
是放氣,對(duì)放手事件的響應(yīng)是升空。
在VB程序設(shè)計(jì)中,基本的設(shè)計(jì)機(jī)制就是:改變對(duì)象的屬性、使用對(duì)象的方法、
為對(duì)象事件編寫事件過程。程序設(shè)計(jì)時(shí)要做的工作就是決定應(yīng)更改哪些屬性、調(diào)
用哪些方法、對(duì)哪些事件作出響應(yīng),從而得到希望的外觀和行為。
3.事件驅(qū)動(dòng)模型
在傳統(tǒng)的或“過程化”的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行哪一部分代
碼和按何種順序執(zhí)行代碼。從第一行代碼執(zhí)行程序并按應(yīng)用程序中預(yù)定的路徑執(zhí)
行,必要時(shí)調(diào)用過程。
在事件驅(qū)動(dòng)的應(yīng)用程序中,代碼不是按照預(yù)定的路徑執(zhí)行,而是在響應(yīng)不同
的事件時(shí)執(zhí)行不同的代碼片段。事件可以由用戶操作觸發(fā)、也可以由來自操作系
統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至由應(yīng)用程序本身的消息觸發(fā)。這些事件的順
序決定了代碼執(zhí)行的順序,因此應(yīng)用程序每次運(yùn)行時(shí)所經(jīng)過的代碼的路徑都是不
同的。
因?yàn)槭录捻樞蚴菬o法預(yù)測的,所以在代碼中必須對(duì)執(zhí)行時(shí)的“各種狀態(tài)”
作一定的假設(shè)。當(dāng)作出某些假設(shè)時(shí)(例如,假設(shè)在運(yùn)行來處理某一輸入字段的過
程之前,該輸入字段必須包含確定的值),應(yīng)該組織好應(yīng)用程序的結(jié)構(gòu),以確保
該假設(shè)始終有效(例如,在輸入字段中有值之前禁止使用啟動(dòng)該處理過程的命令
按鈕)=
在執(zhí)行中代碼也可以觸發(fā)事件。例如,在程序中改變文本框中的文本將引發(fā)
文本框的Change事件。如果Change事件中包含有代碼,則將導(dǎo)致該代碼的
執(zhí)行。如果原來假設(shè)該事件僅能由用戶的交互操作所觸發(fā),則可能會(huì)產(chǎn)生意料之
外的結(jié)果。正因?yàn)檫@一原因,所以在設(shè)計(jì)應(yīng)用程序時(shí)理解事件驅(qū)動(dòng)模型并牢記在
心是非常重要的。
4.交互式開發(fā)
傳統(tǒng)的應(yīng)用程序開發(fā)過程可以分為三個(gè)明顯的步驟:編碼、編譯和測試代碼。
但是VisualBasic與傳統(tǒng)的語言不同,它使用交互式方法開發(fā)應(yīng)用程序,使三
個(gè)步驟之間不再有明顯的界限。
VB在編程者輸入代碼時(shí)便進(jìn)行解釋,即時(shí)捕獲并突出顯示大多數(shù)語法或拼寫
錯(cuò)誤??雌饋砭拖笠晃粚<以诒O(jiān)視代碼的輸入。
除即時(shí)捕獲錯(cuò)誤以外,VB也在輸入代碼時(shí)部分地編譯該代碼。當(dāng)準(zhǔn)備運(yùn)行
和測試應(yīng)用程序時(shí),只需極短時(shí)間即可完成編譯。如果編譯器發(fā)現(xiàn)了錯(cuò)誤,則將
錯(cuò)誤突出顯示于代碼中。這時(shí)可以更正錯(cuò)誤并繼續(xù)編譯,而不需從頭開始。
由于VB的交互特性,代碼運(yùn)行的效果可以在開發(fā)時(shí)進(jìn)行測試,而不必等到
編譯完成以后。
1.4利用VB開發(fā)應(yīng)用程序的一般步驟
一個(gè)VB程序也稱為一個(gè)工程,由窗體、標(biāo)準(zhǔn)模塊、自定義控件及應(yīng)用所需的環(huán)
境設(shè)置組成。開發(fā)步驟一般如下:
1.創(chuàng)建程序的用戶界面
2.設(shè)置界面上各個(gè)對(duì)象的屬性
3.編寫對(duì)象響應(yīng)事件的程序代碼
4.保存工程
5.測試應(yīng)用程序,排除錯(cuò)誤
6.創(chuàng)建可執(zhí)行程序
1.5創(chuàng)建VB程序示例
實(shí)例名稱:VB歡迎你!
1.創(chuàng)建程序的用戶界面
2.設(shè)置界面上各個(gè)對(duì)象的屬性
控件屬性設(shè)置值
OptionlCaption上課
Option!Caption復(fù)習(xí)
BackCoIor&H00C0E0FF&
Forecolor&H00FF0000&
Font宋體小四
LabellCaption歡迎你學(xué)習(xí)VB!!
Forecolor&H000000FF&
Font隸書、二號(hào)
AutoSizeTrue(自動(dòng)調(diào)整外框大?。?/p>
BackStyleO-Transparent(透明)
CommandlCaption學(xué)習(xí)之道
3.編寫對(duì)象響應(yīng)事件的程序代碼
雙擊各對(duì)象,在相應(yīng)的代碼窗口里輸入需要的代碼。
事件名稱過程代碼
PrivateSubCommandl_Click()
Option1.Visible=True
Option2.Visible=True
命令按鈕的單擊事件
Label1.ForeColor=RGB(0,0,255)
Labell.Caption="???”
EndSub
PrivateSubForm_Click()
Form1.Picture=LoadPicture(Hd:\sj\abc.jpgH)
窗體的單擊事件
Option1.Visible=False
Option2.Visible=False
Label1.ForeColor=RGB(255,0,0)
Label1.Caption="預(yù)祝大家成功,干杯!"
EndSub
PrivateSubForm_DblClick()
Form1.Picture=LoadPicture("H)
窗體的雙擊事件
Labell.Caption=0歡迎你學(xué)習(xí)VB!!"
EndSub
PrivateSubOptionl_Click()
選項(xiàng)按鈕1的單擊事
Labell.Caption="看清楚聽明白記下來”
件
EndSub
PrivateSubOption2_Click()
選項(xiàng)按鈕2的單擊事
Labell.Caption="多上機(jī)勤思考善提問”
件
EndSub
|FJI工程1-Forml(Code)
|CoBBandl▼||Click二J
PrivateSubCommandl_C1ick()
Optionl.Visible=True
0ption2.Visible=True
Labell.ForeColor=RGB。0,255)
Labell.Caption="???"
EndSub
PrivateSubForm_Click()
Forml.Picture=LoadPicture(*d:\sj\abc.jpg*)
Optionl.Visible=False
0ption2.Visible:False
Labell.ForeColor=RGB(255,0.0)
Labell.Caption="預(yù)祝大家成功,干杯?“
EndSub
PrivateSubForm__DblClick0
Forml.Picture=LoadPictureC**)
Labell.Caption="歡迎你學(xué)習(xí)VB??”
EndSub
PrivateSubOptionlClick0
Labell.Caption="看清楚聽明白記下來.
EndSub
PrivateSubOption2Click()
Labell.Caption="多上機(jī)勃思考善提問"
EndSub
J-
4.保存工程
(1)從文件菜單中選擇保存窗體,將窗體保存成vbwelcomeyou.frm
(2)從文件菜單中選擇保存工程,將工程保存成vbwelcomeyou.vbp
5.測試應(yīng)用程序,排除錯(cuò)誤
根據(jù)設(shè)想的效果調(diào)試程序,直到滿足要求為止。
6.創(chuàng)建可執(zhí)行程序
從文件菜單中選擇生成vbwelcomeyou.exe,既可生成一個(gè)可執(zhí)行文件。
注意:設(shè)計(jì)中遇到問題可以查閱MSDN的幫助文件。
第二章VB的界面設(shè)計(jì)
2.1VB用戶界面設(shè)計(jì)基礎(chǔ)
1.概述
界面的設(shè)計(jì)有兩步:先繪制控件,然后確定控件屬性。
繪制控件:在工具箱里單擊想畫的控件,在窗體里按下鼠標(biāo)并拖曳,然后松開鼠標(biāo)即可。確
定屬性:先選中控件,然后按F4鍵或單擊工具欄上的屬性窗口進(jìn)入屬性(Properties)窗口,再
在屬性窗口中找到要設(shè)置的屬性井進(jìn)行設(shè)置。
2.常用屬性的設(shè)置
(1)Name屬性
對(duì)象都有名字,計(jì)算機(jī)把名字看成對(duì)象于對(duì)象之間的根本差異,因此在同一窗體里不許出現(xiàn)重
名的情況(除非這是一個(gè)控件數(shù)組),且名字不得超過40個(gè)字。
在簡單的程序里,給控件命名不是很必要,完全可以使用控件Name屬性的缺省值。例如TextK
但在有幾十個(gè)控件的復(fù)雜窗體里,就很難區(qū)分它們。所以,VB推薦由三個(gè)小寫字母的前綴和一
個(gè)第一?個(gè)字母為大寫的描述性單詞組成的名字。例如cmdMyButton是??個(gè)命令按鈕(前綴是cmd)
推薦的前綴
對(duì)象前綴例子
確認(rèn)框(CheckBox)chkchkCareerChioce
組合框(ComboBox)cbocboCrimesCommitted
命令鈕(CommandButton)cmdcmdExit
數(shù)據(jù)庫捽件(DataControl)datdatTopSecretlnfo
目錄列表框(DirectoryListBox)dirdirTree
驅(qū)動(dòng)器列表框(DriveListBox)drvdrvHardDisk
文件列表框(FileListBox)filfilDocuments
窗體(Form)frmfrm1040Tax
框架(Frame)frafraGroupButtons
水平滾動(dòng)條(HorizontalScrollBar)hsbhsbTemperature
圖形(Image)imgimgPrettyDrawing
標(biāo)簽(Label)IblIblFakeName
線(Line)linlinBorder
列表框(ListBox)1stIstCandidates
菜單(Menu)mnumnuHamAndEggs
選項(xiàng)鈕(OptionButton)optoptStationlOl
圖形框(PictureBox)picpicPrettyPicture
幾何圖形(Shape)卜hpshpUpOrShipOut
文本框(TextBox)txtWarning
垂直滾動(dòng)條(VerticalScrollBar)|vsbvsbMoneyRaised
(2)Caption屬性
Caption即標(biāo)題,是可以在對(duì)象外觀上直接看見的文木,可以長達(dá)255字符,包括空格和標(biāo)點(diǎn)
符號(hào),比如--個(gè)叫cmdOk的命令鈕,它的Caption屬性就可以是"0k"。注意:并不是所有的
對(duì)象都有此屬性,比如文本框、圖片框、線條等就沒有。
為按鈕設(shè)置熱鍵:在設(shè)置C叩lion屬性時(shí),在需要加下劃線的字母前加上符號(hào),例如
“&File",輸出的就是“Eile",這樣就可以通過按ALT鍵和標(biāo)題上那個(gè)帶下劃線的字母來選取它
了,不必為此編任何代碼。
Name和caption的比較:
1)Name是系統(tǒng)用來識(shí)別對(duì)象的,編程時(shí)需要用它來指代各對(duì)象;Caption是給用戶看的,
提示用戶該對(duì)象的作用;
2)Name可以采用系統(tǒng)默認(rèn)的名稱,但Caption應(yīng)該根據(jù)實(shí)際情況改成意義明了的名詞;
3)所有對(duì)象都有Name,但不一定都有Caption;
(3)Top,Left屬性
這兩個(gè)屬性決定對(duì)象的位置。只有兩種情況需要在屬性窗口里設(shè)置這兩個(gè)屬性:第一種是用
戶沒有鼠標(biāo),第二種是程序員需要十分精確地設(shè)定這兩個(gè)值。當(dāng)選中對(duì)象,單擊并拖曳它的時(shí)候,
便在修改這兩個(gè)值了。
(4)Height,Width屬性
這兩個(gè)屬性決定了對(duì)象的大小,當(dāng)選中控件時(shí),它周圍出現(xiàn)八個(gè)小黑方塊,把鼠標(biāo)指向這些
方塊,鼠標(biāo)指針將變成?個(gè)雙向的箭頭,這時(shí)按下鼠標(biāo)并拖曳它,即可改變控件的大小,也就改
變了Height,Width屬性。
2.2創(chuàng)建窗體
1.窗體的屬性
(1)常用屬性簡介
1屬性名稱說明
系統(tǒng)識(shí)別窗體的標(biāo)識(shí)名,?個(gè)窗體名必須以個(gè)字母開頭,可
Name窗體名稱
包含數(shù)字和卜劃線,但不能包含空格和標(biāo)點(diǎn)符號(hào)。
Caption窗體標(biāo)題出現(xiàn)在窗體標(biāo)題欄中的文本內(nèi)容
這個(gè)屬性是用戶經(jīng)常要使用的一種屬性。當(dāng)用戶的應(yīng)用程序在
工具條上最小化或在Windows桌面上變?yōu)橐粋€(gè)獨(dú)立應(yīng)用程序
Icon窗體圖標(biāo)
時(shí),該屬性決定將采用何種圖標(biāo),窗體控制框里的圖標(biāo)也由它
決定。
BackColor窗體背景色可以從屬性框里彈出調(diào)色板,選擇所需要的顏色
ForeColor窗體前景色窗體上打印文字的顏色
這個(gè)屬性決定了窗體邊框的樣式,共有6種屬性值。改變窗體
BorderStylc邊框風(fēng)格的BordrStyle屬性后,窗體在屏幕上沒有變化,它只在運(yùn)行
時(shí)才變?yōu)樗蟮臉幼印?/p>
Apearance外形這個(gè)屬性用來決定控件是否采用三維效果
控件按鈕控件
ControlBox用來決定是否采用控件框的屬性,僅在程序運(yùn)行時(shí)才有效。
按鈕
用來改變?cè)摯绑w上顯示信息的字體、字型和字號(hào),它控制著直
Font字體
接在窗體上打印的文本顯示。
該屬性決定窗體是否可見,默認(rèn)情況下是可見的。錯(cuò)誤地改變
Visible可見性
其值是很危險(xiǎn)的,窗體會(huì)從眼前消失,
WindowState窗體狀態(tài)指定窗體在運(yùn)行時(shí)的三種狀態(tài):正常、最小化、最大化。
〔
Enabled活動(dòng)性默認(rèn)值為True,決定窗體能否被訪問。
"ft、Top、左邊距、頂邊
Height、距、高度、寬決定窗體在屏幕上的位置及窗體大小。
|Width度
(2)設(shè)置屬性的方法
1)在設(shè)計(jì)態(tài)通過屬性窗口設(shè)置
直接在屬性窗口中選擇或輸入既可。
2)在程序代碼中改變屬性值
代碼中的格式為:對(duì)象名.屬性=屬性值
例:Forml.BackColor=RGB(255,0,0)
2.窗體的常用方法
(1)Hide方法
用以隱藏MDIForm或Form對(duì)象,但不能使其卸載。
語法:object.Hide
object所在處代表一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略
object,則帶有焦點(diǎn)的窗體就認(rèn)為是該object。
說明:
?隱藏窗體時(shí),它就從屏幕上被刪除,并將其Visible屬性設(shè)置為False。用戶將無
法訪問隱藏窗體上的控件,但是對(duì)于運(yùn)行中的VisualBasic應(yīng)用程序,或?qū)τ谕ㄟ^DDE與該
應(yīng)用程序通訊的進(jìn)程及對(duì)于Timer控件的事件,隱藏窗體的控件仍然是可用的。
?窗體被隱藏時(shí),用戶只有等到被隱藏窗體的事件過程的全部代碼執(zhí)行完后才能夠與該
應(yīng)用程序交互。
?如果調(diào)用Hide方法時(shí)窗體還沒有加載,那么Hide方法將加載該窗體但不顯示它。
(2)Move方法
用以移動(dòng)MDIForm、Form或控件。
語法:object.Moveleft,top,width,height
Move方法的語法包含下列部分:
部分描述
object可選的。一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略object,
帶有焦點(diǎn)的窗體缺省為object。
left必需的。單精度值,指示object左邊的水平坐標(biāo)(x-軸)。
top可選的。單精度值,指示object頂邊的垂直坐標(biāo)(y-軸)。
Width可選的。單精度值,指示object新的寬度。
height可選的。單精度值,指示object新的高度。
說明:只有l(wèi)eft參數(shù)是必須的。但是,要指定任何其它的參數(shù),必須先指定出現(xiàn)在語法中
該參數(shù)前面的全部參數(shù)。例如,如果不先指定left和top參數(shù),則無法指定width參數(shù)。任何
沒有指定的尾部的參數(shù)則保持不變。
(3)Print方法
在Immediate窗口中顯示文本。
語法:object.Print[outputlist]
Print方法的語法具有下列對(duì)象限定符和部分:
部分描述
object必需的。對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的對(duì)象。
outputlist可選的。要打印的表達(dá)式或表達(dá)式的列表。如果省略,則打印一空白行。
outputlist參數(shù)具有以下語法和部分:
{Spc(n)ITab(n)}expressioncharpos
部分描述
Spc(n)可選的。用來在輸出中插入空白字符,這里,n為要插入的空白字符數(shù)。
可選的。用來將插入點(diǎn)定位在絕對(duì)列號(hào)上,這里,n為列號(hào)。使用無參數(shù)的Tab(n)
Tab(n)
將插入點(diǎn)定位在下一個(gè)打印區(qū)的起始位置。
expression可選。要打印的數(shù)值表達(dá)式或字符串表達(dá)式。
可選。指定下個(gè)字符的插入點(diǎn)。使用分號(hào)(;)直接將插入點(diǎn)定位在上一個(gè)被顯示
的字符之后。使用Tab(n)將插入點(diǎn)定位在絕對(duì)列號(hào)上。使用無參數(shù)的Tab將插
Charpos
入點(diǎn)定位在下一個(gè)打印區(qū)的起始位置。如果省略charpos,則在下一行打印下一
字符。
說明:
?可以用空白或分號(hào)來分隔多個(gè)表達(dá)式。
?對(duì)系統(tǒng)指定的國別設(shè)置,用小數(shù)點(diǎn)分隔符將所有打印到Immediate視窗的數(shù)據(jù)正確
格式化。關(guān)鍵字要用適用于主應(yīng)用程序的語言輸出。
?對(duì)于Boolean數(shù)據(jù),或者打印True或者打印False。根據(jù)主機(jī)應(yīng)用程序的地區(qū)設(shè)置來
翻譯True和False關(guān)鍵字。
?使用系統(tǒng)能識(shí)別的標(biāo)準(zhǔn)短日期格式書寫Date數(shù)據(jù)。當(dāng)日期或時(shí)間部件丟失或?yàn)榱銜r(shí),
只書寫已提供的部件。
?如果outpullist數(shù)據(jù)是Empty,則無內(nèi)容可寫。但是,如果outpullist數(shù)據(jù)是Null,
則輸出Null。在輸出Null關(guān)鍵字時(shí),要把關(guān)鍵字正確翻譯出來。
?要把錯(cuò)誤數(shù)據(jù)作為Errorerrorcode輸出。在輸出Error關(guān)鍵字時(shí),要把關(guān)鍵字正確翻
譯出來。
?如果在具有缺省顯示空間的模塊外使用此方法,則需要object。例如,如果沒有指定對(duì)
象就在標(biāo)準(zhǔn)模塊上調(diào)用此方法,則將導(dǎo)致錯(cuò)誤發(fā)生,但是,如果在窗體模塊上進(jìn)行調(diào)用,則會(huì)在
窗體上顯示“outputlist”。
注意:因?yàn)镻rint方法是按照字符比例進(jìn)行打印,所以字符數(shù)與字符所占據(jù)的寬度固定的
列的數(shù)目無關(guān)。例如,像“W”這樣的寬字母占據(jù)的寬度超過一固定列寬,而像"i"這樣的窄字
母占據(jù)的寬度則較小??紤]到要使用比平均字符更寬的空間,表列一定要留有足夠余地。另外,
也可以使用固定間距的字體(像Courier字體)來確保每一?字符均只占一列。
(4)PrintFrom方法
用以將Form對(duì)象的圖象逐位發(fā)送給打印機(jī)。
語法;object.PrintForm
說明:PrintForm將打印Form對(duì)象的全部可見對(duì)象和位圖。在繪制圖形時(shí),如果
AuloRedraw屬性為True,則在運(yùn)行時(shí)PrintForm將打印Form對(duì)象或PictureBox控件上的圖
形。
?PrintForm所使用的打印機(jī)是由操作系統(tǒng)的控制面板中的設(shè)置來決定。
(5)Refresh方法
強(qiáng)制全部重繪一個(gè)窗體或控件。
語法:object.Refresh
說明:在下列情況下使用Refresh方法:
?在另?個(gè)窗體被加載時(shí)顯示?個(gè)窗體的全部。
?更新諸如FileListBox控件之類的文件系統(tǒng)列表框的內(nèi)容。
?更新Data控件的數(shù)據(jù)結(jié)構(gòu)。
Refresh方法不能用于MDI窗體,但能用于MDI子窗體。不能在Menu或Timer
控件上使用Refresh方法。
通常,如果沒有事件發(fā)生,窗體或控件的繪制是自動(dòng)處理的。但是,有些情況下希望窗體
或控件立即更新。例如,如果使用文件列表框、目錄列表框或者驅(qū)動(dòng)器列表框顯示當(dāng)前的目錄結(jié)
構(gòu)狀態(tài),當(dāng)目錄結(jié)構(gòu)發(fā)生變化時(shí)可以使用Refresh更新列表。
可以在Data控件上使用Refresh方法來打開或重新打開數(shù)據(jù)庫(如果DatabaseName,
Readonly,Exclusive或Connect屬性的設(shè)置值發(fā)生改變),并能重建控件的Recordset屬性內(nèi)
的dynaseto
(6)Show方法
用以顯示MDIForm或Form對(duì)象。
語法:object.Showstyle,ownerform
Show方法的語法包含下列部分:
部分描述
object可選的。一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略
object,則與活動(dòng)窗體模塊關(guān)聯(lián)的窗體缺省為object。
Style可選的。一個(gè)整數(shù),它用以決定窗體是模式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)械制造技術(shù)基礎(chǔ) 機(jī)械制造工程基礎(chǔ)學(xué)習(xí)課件
- 鎖骨穿刺常規(guī)護(hù)理
- 產(chǎn)業(yè)數(shù)字化科技創(chuàng)新園產(chǎn)業(yè)生態(tài)系統(tǒng)建設(shè)方案
- 山東省煙臺(tái)市2023-2024學(xué)年高二上學(xué)期1月期末英語試題(含答案)
- 2024年初級(jí)經(jīng)濟(jì)師題庫附答案(基礎(chǔ)題)
- 2025至2030年中國帶表筆插架數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025年河南推拿職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整版
- 2025年度現(xiàn)代服務(wù)業(yè)廠房轉(zhuǎn)租管理協(xié)議
- 肝硬化腹水中醫(yī)護(hù)理方案
- 全國人教版初中信息技術(shù)七年級(jí)上冊(cè)第五單元第15課二、《網(wǎng)上交流的方式》教學(xué)設(shè)計(jì)
- 2024年湖南公務(wù)員考試申論試題(省市卷)
- 《抖音生活服務(wù)服務(wù)商合作手冊(cè)》
- 語文教學(xué)設(shè)計(jì)(教案目標(biāo))
- 中山大學(xué)抬頭信紙中山大學(xué)橫式便箋紙推薦信模板a
- 無形資產(chǎn)評(píng)估完整版課件
- 一體化學(xué)工服務(wù)平臺(tái)、人事管理系統(tǒng)、科研管理系統(tǒng)建設(shè)方案
- 市場營銷學(xué)課后習(xí)題與答案
- 常暗之廂(7規(guī)則-簡體修正)
- 制冷系統(tǒng)方案的設(shè)計(jì)pptx課件
- 修心七要原文
- 中國TBHQ行業(yè)市場調(diào)研報(bào)告
評(píng)論
0/150
提交評(píng)論