![VB6.0由入門到精通_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/15/6c123b93-3c63-4717-8def-92316fcbd467/6c123b93-3c63-4717-8def-92316fcbd4671.gif)
![VB6.0由入門到精通_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/15/6c123b93-3c63-4717-8def-92316fcbd467/6c123b93-3c63-4717-8def-92316fcbd4672.gif)
![VB6.0由入門到精通_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/15/6c123b93-3c63-4717-8def-92316fcbd467/6c123b93-3c63-4717-8def-92316fcbd4673.gif)
![VB6.0由入門到精通_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/15/6c123b93-3c63-4717-8def-92316fcbd467/6c123b93-3c63-4717-8def-92316fcbd4674.gif)
![VB6.0由入門到精通_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-7/15/6c123b93-3c63-4717-8def-92316fcbd467/6c123b93-3c63-4717-8def-92316fcbd4675.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、關(guān)于vb語言和怎樣學(xué)習(xí)vb vb6.0全稱為visualbasic 6.0,是微軟公司推出的可視化編程工具msdn之一,是目前世界上使用最廣泛的程序開發(fā)工具。如果你是一個對編程一無所知,而又迫切希望掌握一種快捷實(shí)用的編程語言的初學(xué)者,那選擇vb 6.0沒錯的。即使考慮到vb程序本身編譯和運(yùn)行效率較低的不足(嘻嘻速度現(xiàn)在不是問題吧),單是它的快捷的開發(fā)速度,簡單易學(xué)的語法,體貼便利的開發(fā)環(huán)境,它仍不失一款優(yōu)秀的編程工具,是初學(xué)者的首選。也許你會問,我以前沒學(xué)過任何一種語言,我能快速上手嗎?別擔(dān)心,沒問題vb的語法的和qbasib語言是基本相同的,也就是說它的語法是最容易被初學(xué)者所接受的。另外vb
2、提供的是可視化的開發(fā)環(huán)境,我們可以象搭積木一樣構(gòu)建出程序的界面,而且vb提供了豐富的控件組,省去了我們自己寫代碼實(shí)現(xiàn)這些效果的麻煩,這樣我們就能把更多的精力放在程序功能的實(shí)現(xiàn)上,所以vb學(xué)起來簡單,用起來方便。接著看看vb語言的前景,在目前各種編程語言共存的時代,vb會不會落伍呢?當(dāng)然不會了,在我寫這篇文章的同時,微軟已經(jīng)透露了vb7.0將完全面向?qū)ο蟮南?,可以肯定下一代vb的功能一定會強(qiáng)大很多,我們這些所謂的 vb 程序員總算可以放心了,vb不會落后于時代,畢竟它是使用人數(shù)最多的優(yōu)秀的開發(fā)工具。好了,侃了這么多關(guān)于vb的臺前幕后,總之是為想學(xué)編程的你樹立信心,編程一點(diǎn)都不難,只要你決定了開
3、始,就讓我們一起踏上愉快的編程之旅吧。接下來談?wù)勗鯓訉W(xué)習(xí)vb,先說說“看實(shí)例學(xué)vb6.0”系列教程,它是面向編程初學(xué)者的vb入門教程,這個教程的特點(diǎn)是拋開晦澀難懂的概念和語法,不做內(nèi)容上的堆積和羅列,而是采用了每節(jié)一個生動有趣的小例子的形式,每個小例子中會涉及到一個或幾個vb編程的知識點(diǎn)(可能是控件,也許會是某個函數(shù)或編程小技巧),使你快速入門。希望你學(xué)完此教程后能達(dá)到下述的效果: 從對編程一竅不通或從未接觸過編程的狀態(tài),通過學(xué)習(xí)能夠?qū)b6.0的編程環(huán)境比較熟悉,掌握vb開發(fā)界面的使用方法;對vb語言的基本語法大致了解,知道常見的語句的意義;學(xué)習(xí)vb常用控件的使用方法,并能將它們靈活運(yùn)用到應(yīng)
4、用程序中;能開發(fā)簡單的vb程序。到那時你已經(jīng)能夠繼續(xù)深入的學(xué)習(xí)vb編程,嘻嘻,目標(biāo)就是這樣啦。然后談?wù)剬W(xué)習(xí)編程的方法,萬事開頭難,剛剛開始,遇到些困難沒關(guān)系,慢慢來。編程是一個不斷學(xué)習(xí),不斷積累的過程,編程的樂趣也正是存在于學(xué)習(xí)的過程中。我們每學(xué)一點(diǎn),就趕快把它用到實(shí)際的程序中去,自己多學(xué)多用多實(shí)踐,水平才能不斷提高,這就是“學(xué)以致用”。另外,編程涉及到很多的知識,象操作系統(tǒng)的、軟件工程的、硬件系統(tǒng)的以及編程思想等各個方面,這就需要我們多看看這方面的資料,擴(kuò)充自己的知識面。教程分為三個大的部分,它們是由淺入深的一個系列,分別是:一、熟悉一下vb6.0的編程環(huán)境二、學(xué)習(xí)vb常用控件的使用方法三、
5、試著開發(fā)簡單的vb應(yīng)用程序好了,下面就一起來開始我們的學(xué)習(xí)吧。認(rèn)識一下vb 6.0的編程環(huán)境 vb6.0采用可視化的編程環(huán)境,它好學(xué)易用,運(yùn)行vb6.0后,會出現(xiàn)如下圖所示的窗口,呵呵,看起來蠻復(fù)雜的,好多的按鈕、菜單、小窗口,別擔(dān)心,待會兒我們會一起學(xué)習(xí)這些東東都是干什么用的。先來解決一個小問題,怎么新建一個vb的工程呢?方法是這樣的,在程序啟動時出現(xiàn)的“新建工程”對話框中選擇“標(biāo)準(zhǔn)exe”并點(diǎn)擊確定,就能直接新建一個工程,如果你跳過了這個對話框則也可從“文件”菜單中選擇“新建工程”重新調(diào)出此對話框。下面一起來看看vb的編程環(huán)境,雖然看起來復(fù)雜,但可以把它分為幾個部分,每個部分都有自己特定的
6、功能,這樣我們就清楚多了。其實(shí)vb這是通過這樣一個界面把相近或同類的功能組合在一起的,它使我們在設(shè)計(jì)程序時能方便的控制程序的方方面面。窗體的最上層是“vb 6.0的菜單”和“便捷工具按鈕”,菜單中包含了所有的vb提供的功能的選項(xiàng),而其中一些常用的功能或操作選項(xiàng)則被提取出來放在了“便捷工具按鈕”中,通過點(diǎn)擊這些快捷按鈕可以加快程序開發(fā)的速度,下圖標(biāo)出了常見的工具按鈕的作用,記著使用它們哦。接著看看“vb的組件面板”和“窗體設(shè)計(jì)區(qū)域”,vb提供了方便的窗體設(shè)計(jì)區(qū)域,它位于整個編程窗口的中間。我們可以在這個區(qū)域中搭建出美觀實(shí)用的程序界面,試著從“vb的組件面板”中找到“按鈕commandbutton
7、”,點(diǎn)擊選中后,再到“窗體設(shè)計(jì)區(qū)域”的窗體上點(diǎn)一下,這時,窗體上會出現(xiàn)一個按鈕,這樣我們就把按鈕添加到我們程序的界面中了。嘻嘻,忘了告訴你哪里是“vb的組件面板”了,就是最左邊的那一條包含許多看起來眼熟的小東西的區(qū)域,它是vb提供給我們的標(biāo)準(zhǔn)的編程組件(控件),它把程序設(shè)計(jì)中常常用到的諸如按鈕、圖片框、列表框等等東西作好了放在那里,我們?nèi)绻褂弥豁毺砑拥酱绑w中即可。 屏幕的右邊有三個從上到下排列的小窗口,它們分別是:“vb工程管理器”:用來管理開發(fā)一個vb程序所需要的各種類型的窗體和模塊,如左圖是一個工程所包含的東西,窗體是一個程序表現(xiàn)在外面的界面、模塊是程序內(nèi)部使用的代碼。當(dāng)我們點(diǎn)擊“添加
8、窗體”便捷工具按鈕后,左圖的“vb工程管理器”中就會顯示出新添加的窗體,這也就是“vb工程管理器”的功能,它使我們從總體上把握程序開發(fā)的各個部分。組件屬性窗口”:用來顯示組件的屬性,并允許我們修改,設(shè)定這些屬性的值,我們在窗體設(shè)計(jì)區(qū)域的窗體上選中一個組件,以按鈕為例,則在“屬性窗口”中會列出它的屬性,我們可以看到常用的“name”、“capition”、“font”等等屬性,試著把“capition”屬性改為“這是一個按鈕”,然后看看“窗體設(shè)計(jì)區(qū)域”的按鈕上“窗體布局窗口”:調(diào)整程序運(yùn)行時,程序窗體在屏幕中的初始位置,把鼠標(biāo)移到左圖屏幕中的窗體上,這時鼠標(biāo)會變成移動形狀,拖動窗體,就設(shè)置好了運(yùn)
9、行時此窗體的位置。好了說了這么多,還差一個區(qū)域沒講,那就是“代碼編輯區(qū)域”,當(dāng)我們在“窗體設(shè)計(jì)區(qū)域”雙擊鼠標(biāo),就能彈出這個區(qū)域,可以看到一行行的vb程序顯示在其中,我們可以修改,寫入程序代碼,來讓程序?qū)崿F(xiàn)一定的功能,它是整個程序設(shè)計(jì)的關(guān)鍵,如果你對vb語言的語法還不是十分了解,可以繼續(xù)下一節(jié)專門對“vb語法”的講解,別著急,慢慢來,很快就能入門的。 “vb工程管理器”:用來管理開發(fā)一個vb程序所需要的各種類型的窗體和模塊,如左圖是一個工程所包含的東西,窗體是一個程序表現(xiàn)在外面的界面、模塊是程序內(nèi)部使用的代碼。當(dāng)我們點(diǎn)擊“添加窗體”便捷工具按鈕后,左圖的“vb工程管理器”中就會顯示出新添加的窗體
10、,這也就是“vb工程管理器”的功能,它使我們從總體上把握程序開發(fā)的各個部分?!敖M件屬性窗口”:用來顯示組件的屬性,并允許我們修改,設(shè)定這些屬性的值,我們在窗體設(shè)計(jì)區(qū)域的窗體上選中一個組件,以按鈕為例,則在“屬性窗口”中會列出它的屬性,我們可以看到常用的“name”、“capition”、“font”等等屬性,試著把“capition”屬性改為“這是一個按鈕”,然后看看“窗體設(shè)計(jì)區(qū)域”的按鈕上顯示的文字是不是改變了。vb的簡單語法學(xué)習(xí)“窗體布局窗口”:調(diào)整程序運(yùn)行時,程序窗體在屏幕中的初始位置,把鼠標(biāo)移到左圖屏幕中的窗體上,這時鼠標(biāo)會變成移動形狀,拖動窗體,就設(shè)置好了運(yùn)行時此窗體的位置。好了說了
11、這么多,還差一個區(qū)域沒講,那就是“代碼編輯區(qū)域”,當(dāng)我們在“窗體設(shè)計(jì)區(qū)域”雙擊鼠標(biāo),就能彈出這個區(qū)域,可以看到一行行的vb程序顯示在其中,我們可以修改,寫入程序代碼,來讓程序?qū)崿F(xiàn)一定的功能,它是整個程序設(shè)計(jì)的關(guān)鍵,如果你對vb語言的語法還不是十分了解,可以繼續(xù)下一節(jié)專門對“vb語法”的講解,別著急,慢慢來,很快就能入門的。 vb語言的語法和qbasic基本一致,可以說如果你能讀懂qbasic程序,那你讀vb的程序是沒有問題的,這一節(jié)中我們只是簡單的講一講vb的語法,因?yàn)樵诮窈蟮母鱾€實(shí)例中我們會不斷接觸到新的語法知識,這也是一個積累的過程。如果你還記得上節(jié)中的內(nèi)容,我們提到過如果在“窗體設(shè)計(jì)區(qū)域
12、”的某個組件(控件)上雙擊鼠標(biāo),會出現(xiàn)“代碼編輯窗口”,也就是如下圖的窗口,我們可以在其中輸入或是修改程序的代碼。在我們雙擊控件到寫入代碼的這個過程中,我們涉及到了一個很重要的概念,這是vb與qbasic的主要差別之一,大家知道在qbasic包括tubro c,tubropascal等語言中程序從一開始就需要我們一點(diǎn)點(diǎn)的寫代碼來實(shí)現(xiàn)所有的功能,比如程序運(yùn)行的界面,輸入輸出,鍵盤控制等,它們在程序中體現(xiàn)為一個個的過程或者是函數(shù)及子程序,它們都是完全面向過程的編程語言;但是現(xiàn)在的vb、vc、delphi等編程語言,都提供了可視化的編程環(huán)境,備有一整套常見的組件(控件)供我們使用,這些控件可以看作是
13、對象(vb嚴(yán)格的說不是完全面向?qū)ο蟮木幊陶Z言),我們寫程序時會直接與這些對象打交道,而不象原來。所以在vb中大部分的代碼是與這些相關(guān)的,例如下圖所示的一段代碼,它是我們在一個按鈕(command)上雙擊鼠標(biāo)而由vb自動產(chǎn)生的一個子過程,private sub command1_click()是子過程的開始,end sub表示子過程的結(jié)束。然后我們可以在子過程中添加程序代碼,也就是由我們自己來寫當(dāng)按鈕被點(diǎn)擊時,程序所做出的響應(yīng)。下面我們便來分析一下這段代碼。b中聲明一個變量使用“dim 變量名 as 變量類型”的方法,一般在程序中使用的到的變量都應(yīng)該有變量聲明,如上例中的a、b、i分別被定義為整
14、型和字符串型變量,vb中的變量類型有以下幾種:數(shù)據(jù)類型說明byte二進(jìn)制數(shù) boolean 真假值 integer 整數(shù) long長整型single 實(shí)數(shù) double雙精度型 currency 貨幣 date 日期和時間 object 對象 string 字符串 variant可變類型控制結(jié)構(gòu)和循環(huán)結(jié)構(gòu)是程序設(shè)計(jì)中常見的兩種結(jié)構(gòu)。計(jì)算機(jī)在運(yùn)行程序的時候,執(zhí)行語句的順序是從上向下的。 有些簡單程序可以只用單向流程來編寫,但稍微復(fù)雜的程序就要靠控制語句來控制程序執(zhí)行的流程。控制結(jié)構(gòu)主要有兩種,分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 分支結(jié)構(gòu):分支結(jié)構(gòu)事實(shí)上是一種選擇,在不同的條件下選擇執(zhí)行不同的程序段。實(shí)現(xiàn)分支結(jié)
15、構(gòu)的語句有很多,最常用的是ifthenelse。例如: if 條件 then 程序段一 else 程序段二 end if 如果條件滿足了,電腦將執(zhí)行程序段一中的語句,然后跳過程序段二,執(zhí)行下面的語句。如果條件不滿足,電腦將跳過程序段一種的語句,執(zhí)行程序段二,然后繼續(xù)執(zhí)行下面的語句。 循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu)就是讓電腦反復(fù)的執(zhí)行某一程序段落干次。 用doloop可以循環(huán)重復(fù)執(zhí)行一語句塊,且重復(fù)次數(shù)不定。 在已知循環(huán)次數(shù)的條件下,用fornext可以反復(fù)執(zhí)行統(tǒng)一語句塊。以上兩種結(jié)構(gòu)你可以參照圖中所示的代碼,仔細(xì)體會一下,今天就講這么多了,下節(jié)我們就要進(jìn)入實(shí)例式的控件學(xué)習(xí)。簡單的文本框textbox的例子
16、 文本框控件(textbox)是vb中最常用的控件。它是顯示和輸入文本的容器,相當(dāng)于一個文字編輯器,提供了所有基本的文字處理功能,例如文本的編輯等。在下面這個小程序中,我們能看到文本框控件(textbox)的最基本的屬性。為了學(xué)習(xí)方便,提供的源碼已經(jīng)作了詳細(xì)的中文注釋,看看源碼框中的代碼:這個例子的兩個窗體界面如下:主窗體窗體(formback)我們首先新建一個標(biāo)準(zhǔn)的exe工程。添加兩個窗體,并把textbox、button、label控件放置在窗體上。各文本框的名稱如下表:文本框名稱名稱屬性文本框名稱名稱屬性會員編號文本框textid電子郵件文本框textmail密碼文本框textpassw
17、ord個人介紹文本框textresume姓名文本框textname會員信息文本框textall在屬性窗口中將textpassword的passwordchar屬性設(shè)為*;textresume的multiline屬性設(shè)為ture,scrollbars屬性設(shè)為2 -vertical;textall文本框的multiline屬性設(shè)為為ture, scrollbars屬性設(shè)為2 -vertical,appearance屬性設(shè)為為0 - flat。下一步我們?yōu)閒ormtxtbox窗體中“確定”(cmdok)和“清除”(cmdclear)按鈕的click事件中添加相應(yīng)的程序。其中:textid.text
18、= 是把會員編號文本框中的內(nèi)容清空,其它語句與此類似。formback.textall.text = lblid.caption & & textid.text _ & vbnewline & 該語句設(shè)置formback窗體中textall文本框的文本。vbnewline是換行顯示標(biāo)志?!?_”是續(xù)行標(biāo)志,當(dāng)語句一行寫不下時使用此標(biāo)志,但要注意:前面要加空格。 代碼寫好之后,我們就可以保存工程,然后按“ctrl+f5”鍵,測試檢驗(yàn)一下我們的程序了。簡單的列表框listbox的例子列表框(listbox)控件表示一個選項(xiàng)清單,用戶可能用鼠標(biāo)選擇其中一個或者幾個選項(xiàng)。 列表框的特點(diǎn)是:列表框中的項(xiàng)
19、目是通過程序插入到其中的,用戶無法向清單中輸入數(shù)據(jù),當(dāng)選擇其中的項(xiàng)目,并在用戶單擊一個按鈕或者執(zhí)行某個操作時,由應(yīng)用程序完成對指定項(xiàng)目的具體操作。下面這個例子充分說明了列表框的這個特點(diǎn),并介紹了列表框(listbox)的常用屬性。為了學(xué)習(xí)方便,提供的源碼已經(jīng)作了詳細(xì)的中文注釋,看看源碼框中的代碼: 這個例子包含一個窗體,窗體中有兩個列表框(list1、list2)和八個按鈕,界面如下:窗體(formlistbox)我們首先新建一個標(biāo)準(zhǔn)的exe工程,添加一個窗體,并把列表框和按鈕控件添加到窗體上。各按鈕控件的名稱如下表:按鈕名稱名稱屬性按鈕名稱名稱屬性刪除所選項(xiàng)目(左)list1movecmd刪
20、除所選項(xiàng)目(右)list2movecmd增加新項(xiàng)目(左)list1addcmd增加新項(xiàng)目(右)list2addcmd清除弄表(左)list1clearcmd清除列表(右)list2clearcmd右箭頭lefttorightcmd左箭頭righttoleftcmdlist1列表框 sorted屬性設(shè)為“false” list2列表框 sorted屬性設(shè)為“true” multiselect屬性設(shè)置為2 即list2控件中的項(xiàng)目總是排序的 在屬性窗口中,將list1列表框 sorted屬性設(shè)為“false”;list2列表框 sorted屬性設(shè)為“true”,multiselect屬性設(shè)置為2,
21、即list2控件中的項(xiàng)目總是排序的。下一步我們?yōu)楦骺丶砑酉鄳?yīng)的程序。其中:list1.additem china 是將“china”添加到列表框中。list1.listindex 返回的是列表框list1中當(dāng)前選擇項(xiàng)目的索引號碼。 list1.listcount 返回的是列表框list1中項(xiàng)目總數(shù)。list1.listcount - 1 返回列表框list1中最后一個項(xiàng)目的索引號。list1.selected() 返回的是一個項(xiàng)目的選擇狀態(tài),返回的是布爾值。代碼寫好之后,我們就可以保存工程,然后按“ctrl+f5”鍵,測試檢驗(yàn)一下我們的程序了。在這個小程序中,包含了列表框中的一般常用屬性和方
22、法。commomdialog使用的例子 commondialog控件是常用的一個控件,它為我們提供了打開、另存為、字體、顏色、打印、幫助等幾種類型的標(biāo)準(zhǔn)對話框,本例演示了所有這些類型的對話框的使用方法。為了學(xué)習(xí)方便,提供的源碼已經(jīng)作了詳細(xì)的中文注釋,看看源碼框中的代碼:這個例子包含一個窗體,窗體中有兩個列表框(list1、list2)和八個按鈕,界面如下: 窗體(formlistbox)我們首先新建一個標(biāo)準(zhǔn)的exe工程,添加一個窗體,并把列表框和按鈕控件添加到窗體上。各按鈕控件的名稱如下表:按鈕名稱名稱屬性按鈕名稱名稱屬性刪除所選項(xiàng)目(左)list1movecmd刪除所選項(xiàng)目(右)list2m
23、ovecmd增加新項(xiàng)目(左)list1addcmd增加新項(xiàng)目(右)list2addcmd清除弄表(左)list1clearcmd清除列表(右)list2clearcmd右箭頭lefttorightcmd左箭頭righttoleftcmdlist1列表框 sorted屬性設(shè)為“false” list2列表框 sorted屬性設(shè)為“true” multiselect屬性設(shè)置為2 即list2控件中的項(xiàng)目總是排序的 在屬性窗口中,將list1列表框 sorted屬性設(shè)為“false”;list2列表框 sorted屬性設(shè)為“true”,multiselect屬性設(shè)置為2,即list2控件中的項(xiàng)目總是
24、排序的。下一步我們?yōu)楦骺丶砑酉鄳?yīng)的程序。其中:list1.additem china 是將“china”添加到列表框中。list1.listindex 返回的是列表框list1中當(dāng)前選擇項(xiàng)目的索引號碼。 list1.listcount 返回的是列表框list1中項(xiàng)目總數(shù)。list1.listcount - 1 返回列表框list1中最后一個項(xiàng)目的索引號。list1.selected() 返回的是一個項(xiàng)目的選擇狀態(tài),返回的是布爾值。代碼寫好之后,我們就可以保存工程,然后按“ctrl+f5”鍵,測試檢驗(yàn)一下我們的程序了。在這個小程序中,包含了列表框中的一般常用屬性和方法。commomdialog
25、使用的例子 commondialog控件是常用的一個控件,它為我們提供了打開、另存為、字體、顏色、打印、幫助等幾種類型的標(biāo)準(zhǔn)對話框,本例演示了所有這些類型的對話框的使用方法。為了學(xué)習(xí)方便,提供的源碼已經(jīng)作了詳細(xì)的中文注釋,看看源碼框中的代碼:如果控件面板中沒有commondialog控件的小圖標(biāo),必須先從“添加控件對話框”中添加,下面我們來看看怎樣調(diào)用不同類型的對話框。commondialog控件有一系列的show方法,例如:showopen、showsave、showfont、showcolor、showprinter、showhelp等,這些方法的使用語法是類似的,如下所示:object.
26、showopen,我們只須在程序中寫入這個語句,就能調(diào)出“打開”對話框,同樣也能調(diào)用其它類型的對話框。而commondialog控件的屬性是和不同的對話框類型緊密相關(guān)的,有些屬性只適用于某一類對話框,有些屬性在不同的對話框中的屬性是有差別的,所以下面分類列出了和不同對話框相關(guān)聯(lián)的屬性的用法。與showopen、showsave方法相關(guān)的屬性:filename屬性:返回或設(shè)置所選文件的路徑和文件名,如果在使用show方法以前使用filename屬性,則設(shè)定了對話框的默認(rèn)文件名;如果是在以后使用則返回選擇的文件名。使用語法是: commondialog.filename=pathname filt
27、er屬性:返回或設(shè)置在對話框的類型列表框中所顯示的過濾器(也就是限定打開或保存為的文件類型),它的使用語法是:object.filter = 描述文字1 |過濾標(biāo)示1 |描述文字2 |過濾標(biāo)示2其中描述文字為任意文字,而 過濾標(biāo)示則采用*.文件后綴(例如:*.bmp)的格式,描述文字和過濾標(biāo)示之間用“|”隔開。defaultext屬性:為該對話框返回或設(shè)置缺省的文件擴(kuò)展名,也就是當(dāng)我們沒有指定打開或保存的文件類型時,按defaultext屬性所設(shè)置的擴(kuò)展名為默認(rèn)值。與showfont方法相關(guān)的屬性:color選定的顏色。為使用此屬性,必須先將flags屬性設(shè)置為cdlcfeffects。 fo
28、ntbold 是否選定“粗體”。 fontitalic 是否選定“斜體”。 fontstrikethru 是否選定刪除線。 fontunderline 是否選定下劃線。 fontname 選定的字體名稱。 fontsize 選定的字體大小。使用的語法是直接引用,比如我們要根據(jù)“字體對話框”返回的值設(shè)置文本框的字體,則直接采用語句:text.font=commondialog.fontnname 與showcolor方法相關(guān)的屬性:color選定的顏色。為使用此屬性,必須先將flags屬性設(shè)置為cdlcfeffects。與showhelp方法相關(guān)的屬性:helpcommand屬性 返回或設(shè)置需要
29、的聯(lián)機(jī)幫助的類型 helpfile屬性確定幫助文件的路徑和文件名語法是: object.helpfile = filename 下面看看cancelerror屬性,它設(shè)置當(dāng)選取“取消”按鈕時是否認(rèn)為出錯,使用的語法是:commondialog.cancelerror= boolean (boolean指布爾型變量)如果我們把它設(shè)為true,則當(dāng)使用者選取了“取消”按鈕時程序會返回一個cdlcancel錯誤,通過捕捉這個錯誤并加以處理,我們就能避免程序的出錯。具體的使用可在源碼中看到實(shí)例。在狀態(tài)欄中顯示幫助信息 狀態(tài)欄是vb中的一個很有用的控件,但是默認(rèn)狀態(tài)下它不在控件面板中,在我們使用它之前必
30、須先添加,方法是按下ctrl+t快捷鍵,在彈出的“components”對話框中選中ms windows common controls。這時在控件面板中會出現(xiàn)狀態(tài)欄的小圖標(biāo),雙擊此圖標(biāo)就能把它添加到窗體中。接下來我們根據(jù)自己的需要來編輯狀態(tài)欄,選中窗體上的狀態(tài)欄,在鼠標(biāo)右鍵菜單中選擇“屬性properties”,這時會彈出如上圖所示的對話框,我們選擇“panels窗格”。其中“insert panel”按鈕用來添加狀態(tài)欄中的窗格數(shù)目,當(dāng)我們添加一個窗格后“index”的值也會自動加一,在程序中我們通過窗格的索引值來引用窗格。下面的一些項(xiàng)目都是窗格的屬性,我們可以在此設(shè)置也可在程序中控制它。比
31、較常用的屬性有:“text”-在各個窗格中顯示的文字;“alignment”-窗格中文本的對齊方式;“style”窗格的樣式(選擇0-sbrtext為顯示文本,選擇6-sbrdate為顯示日期等等);“bevel”-窗格的凹凸?fàn)顟B(tài)。另外我們還可以在窗格中加入圖片,方法是點(diǎn)擊“browse”然后選中圖片文件。在本程序中我們在第一個窗格中動態(tài)顯示幫助信息,在第二、三個窗格中分別顯示日期和時間。那么怎樣在程序中控制狀態(tài)欄中顯示的文本呢?例如我們希望鼠標(biāo)移動到不同的按鈕上時狀態(tài)欄的第一個窗格中顯示不同的幫助,則我們在按鈕的onmouseover事件中加入如下語句即可:private sub cmdne
32、w_mousemove(button as integer, shift as integer, x as single, y as single) stasample.panels(1).text = stasample.panels(1).text = 清空文本框 end sub 同樣的我們能為其它按鈕等控件添加幫助信息。為了學(xué)習(xí)方便,提供的源碼已經(jīng)作了詳細(xì)的中文注釋,看看源碼框中的代碼:這樣狀態(tài)欄中就能動態(tài)顯示幫助信息了。使用右鍵菜單的例子右鍵菜單能讓軟件的使用者快捷的完成操作,那么如何把右鍵菜單用在自己寫的程序中呢?在這個小程序中我們能看到編輯并使用右鍵菜單的方法。為了學(xué)習(xí)方便,提供的
33、源碼已經(jīng)作了詳細(xì)的中文注釋,看看源碼框中的代碼:我們先打開菜單編輯器(在工具菜單中),然后添加一個一級菜單popmenu,將它的visible屬性設(shè)為“false”,這代表菜單在程序運(yùn)行時是看不到的,由于一級菜單是二級菜單的上級菜單,所以二級菜單也是看不到的。然后我們來添加幾個二級菜單,注意每個菜單都有caption屬性和name屬性,這兩個屬性是必須寫的,caption屬性是顯示在菜單項(xiàng)上的內(nèi)容,而name屬性則是我們要在程序中引用菜單項(xiàng)的代號,類似與其它控件的name屬性。而菜單中分隔線是通過把caption屬性設(shè)為“-”來實(shí)現(xiàn)的。菜單編輯好后,就能在程序中引用并控制它,在本例中我們希望在
34、文本框上點(diǎn)擊鼠標(biāo)右鍵時彈出這個右鍵菜單,則需要在文本框的mousedown事件中加入控制語句:private sub richtextbox1_mousedown(button as integer,shift as integer,x as single,y as single) if button = 2 then如果是鼠標(biāo)右鍵按下時form1.popupmenu mnufile, 0, x, y彈出右鍵菜單end ifend sub其中mousedown事件各個參數(shù)意義如下:button返回一個整數(shù),用來標(biāo)識該事件的產(chǎn)生是按下哪個按鍵,其中左鍵為0,右鍵為2,中間鍵為4 shift 返回
35、一個整數(shù),標(biāo)示是否同時有shift,ctrl,alt鍵按下x, y 返回一個指定鼠標(biāo)指針當(dāng)前位置的數(shù)popupmenu是一個方法:popupmenu方法用來彈出一個菜單,語法是:object.popupmenu menuname, flags, x, ymnufile是我們在菜單編輯器中設(shè)計(jì)好的菜單的名稱x,y是彈出菜單的位置,可以為數(shù)字,如果直接寫為x,y則是在當(dāng)前鼠標(biāo)位置彈出菜單這樣就能調(diào)出右鍵菜單,然后我們根據(jù)自己的需要,為每個菜單項(xiàng)的click事件編寫代碼,完成一些特定的操作,右鍵菜單就可以使用了。最后效果如下圖所示:appactivate語句描述:激活其它應(yīng)用程序。一、語法:appa
36、ctivatetitle,waitappactivate語句的語法具有以下幾個命名參數(shù):部分描述title必需的。字符串表達(dá)式,所要激活的應(yīng)用程序的名稱。常使用shell函數(shù)返回的任務(wù)識別碼來替換title,以激活應(yīng)用程序wait可選的。boolean值,取值為true/false。說明在激活另一個應(yīng)用程序之前調(diào)用的應(yīng)用程序是否有焦點(diǎn)。如果為false(缺?。?,那么,即使調(diào)用的應(yīng)用程序沒有焦點(diǎn),也直接激活指定的應(yīng)用程序。如果為true,則調(diào)用的應(yīng)用程序會等到有焦點(diǎn)后,才激活指定的應(yīng)用程序二、說明:appactivate語句不能打開應(yīng)用程序,只能激活應(yīng)用程序(使其變成活動窗口)。在使用appac
37、tivate語句時必須打開應(yīng)用程序,否則程序會報(bào)錯。所以通常先用shell函數(shù)啟動一個應(yīng)用程序,然后使用appactivate語句激活。三、應(yīng)用舉例:本例使用appactivate語句來激活microsoft excel。建立一個標(biāo)準(zhǔn)工程,在窗體上添加一個命令按鈕,將下面的程序粘貼過去。private sub command1_click()appactivate microsoft excel 激活microsoft excel。end sub首先打開microsoft excel,然后運(yùn)行程序,單擊命令按鈕,你將看到excel變成活動窗體。下面示例用shell函數(shù)啟動microsoft e
38、xcel,然后用appactivate語句來激活microsoft excel。在運(yùn)行程序前,首先找到microsoft excel的路徑,并關(guān)閉excel。在上面的標(biāo)準(zhǔn)工程中,用下面的程序替換上面的程序,并把路徑換成你電腦中microsoft excel的路徑,然后運(yùn)行程序,單擊命令按鈕,你將看到excel被打開并被激活。private sub command1_click()dim myappidmyappid = shell(c:program filesmicrosoft officeofficeexcel.exe, 1)運(yùn)行microsoft excel。appactivate my
39、appid 激活microsoft excel。end subbeep語句描述:通過計(jì)算機(jī)喇叭發(fā)出聲音。一、語法:beep 二、說明:呼叫的頻率與時間長短取決于硬件和系統(tǒng)軟件,并隨計(jì)算機(jī)不同而不同。三、應(yīng)用舉例:在調(diào)試程序時,有時需要在發(fā)生錯誤時發(fā)出音響。本例在程序運(yùn)行時,如果某一步發(fā)生錯誤,則轉(zhuǎn)到錯誤處理入口,使用beep語句讓計(jì)算機(jī)發(fā)出響聲,同時msgbox函數(shù)將提示錯誤。建立一標(biāo)準(zhǔn)工程,在窗體上添加一命令按鈕,將下面的程序粘貼過去。private sub command1_click()on error goto errorhandler 發(fā)生錯誤轉(zhuǎn)到錯誤處理入口msgbox 程序運(yùn)行e
40、xit sub 程序運(yùn)行完畢,沒有錯誤退出程序errorhandler: 錯誤處理入口beep 發(fā)出聲響。msgbox 出錯end sub單擊命令按鈕,msgbox顯示程序運(yùn)行。現(xiàn)在加入一條錯誤的激活microsoft excel語句,程序如下:private sub command1_click()on error goto errorhandler 發(fā)生錯誤轉(zhuǎn)到錯誤處理入口appactivate excel.exe 錯誤語句。msgbox 程序運(yùn)行exit sub 程序運(yùn)行完畢,沒有錯誤退出程序errorhandler: 錯誤處理入口beep 發(fā)出聲響。msgbox 出錯end sub 單
41、擊命令按鈕,msgbox顯示出錯,計(jì)算機(jī)喇叭發(fā)出聲音。誤區(qū):有些教材用下面的示例使用beep語句讓計(jì)算機(jī)連續(xù)響三聲,實(shí)際上計(jì)算機(jī)在運(yùn)行下面的程序時只能響一聲,原因是計(jì)算機(jī)的運(yùn)行速度遠(yuǎn)比計(jì)算機(jī)喇叭發(fā)出聲音的速度快。dim ifor i = 1 to 3 循環(huán)3次。beep 發(fā)出一聲。next icall語句描述:將控制權(quán)轉(zhuǎn)移到一個sub過程,function過程,通俗的講就是調(diào)用一個子程序或函數(shù)。一、語法:callnameargumentlistcall語句的語法包含下面部分:部分描述call可選參數(shù);關(guān)鍵字。如果指定了這個關(guān)鍵字,則參數(shù)必須加上括號,例如:call myproc(0)name
42、(過程名)必要參數(shù),要調(diào)用的過程名稱argumentlist(參數(shù)列表)可選參數(shù),傳遞給過程的變量、數(shù)組或表達(dá)式的列表,各參數(shù)間以逗號隔開。argumentlist的每個參數(shù)都可以加上關(guān)鍵字byval或byref,來描述被調(diào)用的過程將如何處理這些參數(shù)。二、說明:調(diào)用一個過程時,并不一定要使用call關(guān)鍵字。如果使用call關(guān)鍵字來調(diào)用一個需要參數(shù)的過程,argumentlist就必須要加上括號。call name(argumentlist)如果省略了call關(guān)鍵字,那么也必須要省略argumentlis外面的括號。name argumentlist如果需要函數(shù)的返回值,則應(yīng)先定義一個變量,然后
43、將函數(shù)的返回值賦予變量,這時雖然省略了call關(guān)鍵字,但argumentlist也必須要加上括號。如下面的格式:dim str as stringstr = name(argumentlist)若要將整個數(shù)組傳給一個過程,使用數(shù)組名,然后在數(shù)組名后加上空括號。有時為了方便,可用公有變量傳遞參數(shù)。三、應(yīng)用舉例:下列示例示范如何使用call語句來調(diào)用子過程。建立一個標(biāo)準(zhǔn)工程,在窗體上添加一命令按鈕和一個文本框,將下面的程序粘貼過去。private sub command1_click()call procedureend subprivate sub procedure()dim a 定義變量a
44、= date 取日期text1.text = aend sub單擊命令按鈕,text1顯示日期。下列示例示范如何使用省略了call關(guān)鍵字來調(diào)用函數(shù),并根據(jù)返回值決定程序是否繼續(xù)運(yùn)行。還在上面的這個標(biāo)準(zhǔn)工程里,用下面的程序替換上面程序中的第一部分。private sub command1_click()dim str as string 定義變量str = msgbox(是否繼續(xù)運(yùn)行, vbyesno + vbexclamation, me.caption)if str = vbno then exit subprocedureend sub單擊命令按鈕后msgbox函數(shù)提示“是否繼續(xù)運(yùn)行”,單
45、擊否退出程序,text1無變化;單擊是運(yùn)行后面的程序,text1顯示日期。chdir語句描述:改變當(dāng)前的路徑(目錄或文件夾)。一、語法:chdirpathpath(路徑名)為必要參數(shù),它是一個字符串表達(dá)式,指明將改變到哪個路徑(目錄或文件夾)。 二、說明:如果改變的路徑不在當(dāng)前的驅(qū)動器上,則應(yīng)輸入包括驅(qū)動器在內(nèi)的完整路徑,如:chdir f:talltreeyyglclienthelp上移一層目錄采用下面的格式:chdir.注意:path必須為有效路徑,否則系統(tǒng)會報(bào)錯。三、應(yīng)用舉例:本示例使用chdir語句來改變當(dāng)前路徑,建立一標(biāo)準(zhǔn)工程,在窗體上添加一命令按鈕,一個文本框和一個文件列表框(fi
46、lelistbox),將下面的程序粘貼過去。private sub command1_click()chdir text1.textfile1.path = text1.textend sub在文本框里輸入一個完整路徑,然后單擊命令按鈕,文件列表框?qū)@示這個路徑下的全部文件。 chdrive語句描述:改變當(dāng)前的驅(qū)動器。一、語法:chdrivedrivedrive(驅(qū)動器名)為必需參數(shù),它是一個字符串表達(dá)式,指明將改變到哪個驅(qū)動器。如果使用零長度的字符串(),則當(dāng)前的驅(qū)動器將不會改變。二、應(yīng)用舉例:本示例使用chdrive語句來改變當(dāng)前的驅(qū)動器。建立一標(biāo)準(zhǔn)工程,在窗體上添加一命令按鈕,一個文本框
47、和一個目錄列表框(dirlistbox),將下面的程序粘貼過去。private sub command1_click()chdrive text1.textdir1.path = text1.textend sub在文本框里輸入一個完整路徑,然后單擊命令按鈕,目錄列表框?qū)@示這個驅(qū)動器的名稱,點(diǎn)擊目錄列表框右邊的箭頭,可以看到這個驅(qū)動器下的全部一級文件夾。 close語句描述:關(guān)閉用open語句打開的輸入/輸出(i/o)文件。一、語法:closefilenumberlistfilenumberlist(文件號列表)為可選參數(shù),它是一個或多個文件號,其中filenumber為任何有效的文件號。如
48、果是多個文件號,個文件號之間用逗號隔開,語法如下:#filenumber1,#filenumber2.二、說明:若省略filenumberlist,則將關(guān)閉open語句打開的所有活動文件。文件被關(guān)閉后,相關(guān)聯(lián)的緩沖區(qū)空間被釋放,文件與其文件號之間的關(guān)聯(lián)也將終結(jié)。三、應(yīng)用舉例:本示例使用close語句來關(guān)閉為output而打開的文件。建立一個標(biāo)準(zhǔn)工程,在窗體上添加一命令按鈕,將下面的程序粘貼過去。private sub command1_click()open a.txt for output as #1 打開文件。print #1, 文件被打開。 將字符串寫入文件。close 將已打開的文件關(guān)
49、閉。end sub運(yùn)行程序,單擊命令按鈕。我們會發(fā)現(xiàn)程序新建了一個名為“a”的文本文件,“文件被打開?!币呀?jīng)寫入導(dǎo)文本里。 const語句描述:聲明常量。一、語法:public|privateconstconstnameastype=expressionconst語句的語法包含下面部分:部分描述public可選的。該關(guān)鍵字用于在模塊級別中聲明該常量為全局的(公用的),也就是說在所有模塊和窗體中都可以使用的常量。該關(guān)鍵字在窗體中不能使用。private可選的。該關(guān)鍵字用于在模塊或窗體級聲明該常量為局部的,即只能在包含該聲明的模塊或窗體中使用的常量。不能在過程中使用。constname必需的。有效
50、的常量名;遵循標(biāo)準(zhǔn)的變量命名約定。type可選的。常量的數(shù)據(jù)類型;可以是vb變量的各種類型。所聲明的每個常量都要使用一個單獨(dú)的as類型子句。expression必需的。文字,其它常量,或由除is之外的任意的算術(shù)操作符和邏輯操作符所構(gòu)成的任意組合。二、說明:對于程序中多次出現(xiàn)的數(shù)值、文字等最好使用常量,這樣在程序運(yùn)行時不易出錯。常量可以使程序更具可讀性,以及易于修改。在缺省情況下常量是局部的。在sub、function或property過程中聲明的常量都是該過程的局部常量,在類模塊聲明的常量也是局部的。在標(biāo)準(zhǔn)模塊中,可以用public關(guān)鍵字來聲明常量為全局的。可以在一行中聲明若干個常量,使用逗號
51、將每個常量賦值分開。用這種方法聲明常量時,如果使用了public或private關(guān)鍵字,則該關(guān)鍵字對該行中所有常量都有效。三、應(yīng)用舉例:該示例使用const語句來聲明常量。public常量在標(biāo)準(zhǔn)模塊的通用部分聲明,而不是在類模塊中聲明。private常量可以在任何模塊類型的通用部分聲明。const pai = 3.14 缺省情況下常量是局部的。public const mystr = 你好 聲明全局常量。private const vbgrayed as integer = 2 聲明局部的整數(shù)常量。const mystr = 你好, pai as double = 3.14 在一行中聲明多個常
52、量。date語句描述:設(shè)置當(dāng)前系統(tǒng)日期。一、語法:date=datedate的格式為#mm/dd/yyyy#,日期兩邊用#,不能用雙引號(“”)。對于運(yùn)行microsoftwindows98的系統(tǒng),要設(shè)置的日期必須介于1980年1月1日與2099年12月31日之間。對于運(yùn)行microsoftwindowsnt的系統(tǒng),日期必須介于公元1980年1月1日到2079年12月31日之間。二、應(yīng)用舉例:本示例使用date語句來設(shè)置系統(tǒng)日期。在開發(fā)環(huán)境中,日期原義會根據(jù)系統(tǒng)的地區(qū)設(shè)置,以短式日期格式顯示。建立一標(biāo)準(zhǔn)工程,在窗體上添加一命令按鈕,將下面的程序粘貼過去。private sub command1
53、_click()date = #11/6/2007# 設(shè)置系統(tǒng)日期。end sub單擊命令按鈕,這時系統(tǒng)日期將改變到你指定的日期。 declare語句描述:用于在模塊或窗體中聲明對動態(tài)鏈接庫(dll)中外部過程的引用,在引用api函數(shù)時經(jīng)常用到。一、語法:語法1public|privatedeclaresubnameliblibnamealiasaliasname_ (arglist)語法2public|privatedeclarefunctionnameliblibnamealiasaliasname_(arglist)astypedeclare語句的語法包含下面部分:部分描述public可
54、選的。用于聲明其引用是全局的(公用的),也就是說該引用的過程在整個工程中都可以使用。public只能在模塊中聲明。private可選的。用于聲明其引用是局部的,也就是說只能在該聲明所在的模塊或窗體中使用。sub或function可選的(但二者必須選其一)。sub表示該過程沒有返回值;function表示該過程會返回一個可用于表達(dá)式的值。name必需的。為合法的過程名。lib必需的。declare的子句。libname必需的。所聲明過程的動態(tài)鏈接庫名或代碼資源名。alias可選的。表示將被調(diào)用的過程在動態(tài)鏈接庫(dll)中還有另外的名稱。當(dāng)動態(tài)鏈接庫的過程與同一范圍內(nèi)的公用變量、常數(shù)或任何其它過程的名稱相同時,可以使用這個參數(shù)。aliasname可選的。動態(tài)鏈接庫或代碼資源中的過程名。如果首字符不是數(shù)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 17925-2024氣瓶對接焊縫X射線數(shù)字成像檢測
- Tripetroselinin-1-2-3-Tri-6-Z-octadecenoyl-glycerol-生命科學(xué)試劑-MCE-1244
- Diethylene-glycol-d8-2-2-Oxybis-ethan-1-ol-d-sub-8-sub-生命科學(xué)試劑-MCE-5883
- 2025年度掛車司機(jī)運(yùn)輸合同違約責(zé)任與賠償合同
- 2025年度網(wǎng)絡(luò)安全行業(yè)競業(yè)限制協(xié)議生效細(xì)則及數(shù)據(jù)隱私
- 二零二五年度創(chuàng)業(yè)公司股權(quán)分配及股權(quán)激勵協(xié)議
- 2025年度消防電梯采購與應(yīng)急救援系統(tǒng)配套合同
- 2025年度水果種植基地農(nóng)業(yè)保險(xiǎn)合同
- 2025年度綠色能源股權(quán)合作開發(fā)合同
- 施工現(xiàn)場施工防傳染病制度
- 北京中考英語詞匯表(1600詞匯)
- 20世紀(jì)西方音樂智慧樹知到期末考試答案章節(jié)答案2024年北京大學(xué)
- 期末模擬試卷 (試題)-2023-2024學(xué)年六年級下冊數(shù)學(xué)人教版
- 塑料 聚氨酯生產(chǎn)用聚醚多元醇 堿性物質(zhì)含量的測定
- 運(yùn)動技能學(xué)習(xí)與控制課件第十二章運(yùn)動技能學(xué)習(xí)的反饋
- 食材配送售后服務(wù)方案
- 英文版中國故事繪本哪吒鬧海
- 2024年浙江省溫州市中考一模語文試題
- 《陸上風(fēng)電場工程設(shè)計(jì)概算編制規(guī)定及費(fèi)用標(biāo)準(zhǔn)》(NB-T 31011-2019)
- 精神科醫(yī)生培訓(xùn)課件
- 初三復(fù)習(xí)資料全部
評論
0/150
提交評論