第二章:事件、屬性及數(shù)據(jù)類型
以后兩章可能會比較枯燥,但不可否認(rèn)也很重要,所以為了學(xué)好VB,我們一定要打好基礎(chǔ)才行。
一、事件
通過上一章的例子,你可能對“面向?qū)ο蟮木幊獭币呀?jīng)有了一定了解,它是由事件驅(qū)動的,對于不同的對象,所能感應(yīng)到的事件也會不同,譬如說當(dāng)你把鼠標(biāo)移進(jìn)某一區(qū)域時就會觸發(fā)MouseMove事件,這很直觀,也容易理解,但也有些事件比較抽象,下面我來對一般的事件進(jìn)行一下解釋。
窗體和圖象框類事件
Paint事件:當(dāng)某一對象在屏幕中被移動,改變尺寸或清除后,程序會自動調(diào)用Paint事件。注意:當(dāng)對象的AutoDraw屬性為True(-1)時,程序不會調(diào)用Paint事件。
Resize事件:當(dāng)對象的大小改變時觸發(fā)Resize事件。
Load事件:僅適用于窗體對象,當(dāng)窗體被裝載時運行。
Unload事件:僅適用于窗體對象,當(dāng)窗體被卸載時運行。
2.當(dāng)前光標(biāo)(Focus)事件
GotFocus事件:當(dāng)光標(biāo)聚焦于該對象時發(fā)生事件。
LostFocus事件:當(dāng)光標(biāo)離開該對象時發(fā)生事件。
注意:Focus英文為“焦點”、“聚焦”之意,最直觀的例子是,比如有兩個窗體,互相有一部分遮蓋,當(dāng)你點下面的窗體時,它就會全部顯示出來,這時它處在被激活的狀態(tài),并且標(biāo)題條變成藍(lán)色,這就是GotFocus事件,而相反,另外一個窗體被遮蓋,并且標(biāo)題條變灰,稱為LostFocus事件。上面所說的“光標(biāo)”并非指鼠標(biāo)指針。
3.鼠標(biāo)操作事件
Click事件:鼠標(biāo)單擊對象。
DbClick事件:鼠標(biāo)雙擊事件。
MouseDown、MouseUp屬性:按下/放開鼠標(biāo)鍵事件。
MouseMove事件:鼠標(biāo)移動事件。
DragDrop事件:拖放事件,相當(dāng)于MouseDown、MouseMove和MouseUp的組合。
DragOver事件:鼠標(biāo)在拖放過程中就會產(chǎn)生DragOver事件。
4.鍵盤操作屬性
KeyDown、KeyUp事件:按鍵的按下/放開事件。
KeyPress事件:按鍵事件。
5.改變控制項事件
Change事件:當(dāng)對象的內(nèi)容發(fā)生改變時,觸發(fā)Change事件。最典型的例子是文本框(TextBox)。
DropDown事件:下彈事件,僅用于組合框(ComboBox)對象。
PathChange事件:路徑改變事件,僅用于文件列表框(FileBox)對象。
6.其他事件
Timer事件:僅用于計時器,每隔一段時間被觸發(fā)一次。
二、屬性
每個對象都有它的屬性,并且“Name”屬性是共有的,有了“Name”屬性才可以在程序中進(jìn)行調(diào)用。對于屬性,可以在窗體的布局操作中完成,也可以在程序運行中改變,這取決你的需要,但有些屬性是只讀的,它只能在控件布局時改變。我將在以后的實例中具體介紹各個屬性的作用。
三、數(shù)據(jù)類型
學(xué)過編程的人都知道大多數(shù)的計算機語言都規(guī)定了各自的數(shù)據(jù)類型,VB也不例外。其實,在一個最簡單的程序中數(shù)據(jù)類型是可以不作規(guī)定的,也就是說,變量可以使用各種類型,但是在一個復(fù)雜的程序里,這樣做就很危險,因為很可能給同一個變量賦予了不同的類型,而導(dǎo)致程序出錯。所以,為了程序的嚴(yán)謹(jǐn)和便于查看,正確的定義數(shù)據(jù)類型是必要的。定義數(shù)據(jù)的另一個原因是,不同的數(shù)據(jù)占用不同的內(nèi)存數(shù)量,譬如整型(Interger)數(shù)據(jù)占2字節(jié),而長整型數(shù)據(jù)占4個字節(jié),定義合適的數(shù)據(jù)類型,不管你相信不相信,它可以節(jié)省內(nèi)存!
VB常用的數(shù)據(jù)類型有:整型(Integer,表示-32768至32767之間的整數(shù))、長整型(Long,表示-2,147,483,648至2,147,483,647之間的整數(shù))、實型(Single,表示-3.37E+38至3.37E+38之間的實數(shù))、雙精度實型(Double,表示-1.67E+308至1.67E+308之間的實數(shù)),字符(String,每個字符占一字節(jié),可以儲存0~65,535個字符),布爾(Boolean,只有兩個值True/-1,或False/0)。
數(shù)據(jù)類型的定義方法:
定義變量最簡單的方法是用“Dim”關(guān)鍵字,它的語法:
Dim 【變量名】As 【數(shù)據(jù)類型】
如:Dim Index As Integer
也可以在一行中定義多個變量,如:
Dim Index As Integer , Dim Number As Long
把多個變量定義成同一類型可以寫成:
Dim Index , Number As Integer
更可以在定義時進(jìn)行初賦值:
Dim Index=3
有時為了簡便,也以符號進(jìn)行簡單的定義,作用是和上面一樣的。整型可以用“%”代替,長整型可以用“&”代替,實型可以用“!”,雙精度實型可以用“#”定義,如剛才的第一個例子可以寫成:
Dim Index% 等價于 Dim Index As Integer
對于常量的定義用Const定義,如:Const COLOR=255。
為了在程序中便于查閱,我們對變量和常量的寫法進(jìn)行規(guī)定,變量一般用小寫方式,常量則全部大寫。
注意:使用常量的好處,對于程序中經(jīng)常出現(xiàn)的數(shù)值,應(yīng)設(shè)常量等于它,這樣一是書寫方便,其二,如果要改變該數(shù)值,只需改變定義常量的語句值,而不需改變每個語句,提高了效率。
以后兩章可能會比較枯燥,但不可否認(rèn)也很重要,所以為了學(xué)好VB,我們一定要打好基礎(chǔ)才行。
一、事件
通過上一章的例子,你可能對“面向?qū)ο蟮木幊獭币呀?jīng)有了一定了解,它是由事件驅(qū)動的,對于不同的對象,所能感應(yīng)到的事件也會不同,譬如說當(dāng)你把鼠標(biāo)移進(jìn)某一區(qū)域時就會觸發(fā)MouseMove事件,這很直觀,也容易理解,但也有些事件比較抽象,下面我來對一般的事件進(jìn)行一下解釋。
窗體和圖象框類事件
Paint事件:當(dāng)某一對象在屏幕中被移動,改變尺寸或清除后,程序會自動調(diào)用Paint事件。注意:當(dāng)對象的AutoDraw屬性為True(-1)時,程序不會調(diào)用Paint事件。
Resize事件:當(dāng)對象的大小改變時觸發(fā)Resize事件。
Load事件:僅適用于窗體對象,當(dāng)窗體被裝載時運行。
Unload事件:僅適用于窗體對象,當(dāng)窗體被卸載時運行。
2.當(dāng)前光標(biāo)(Focus)事件
GotFocus事件:當(dāng)光標(biāo)聚焦于該對象時發(fā)生事件。
LostFocus事件:當(dāng)光標(biāo)離開該對象時發(fā)生事件。
注意:Focus英文為“焦點”、“聚焦”之意,最直觀的例子是,比如有兩個窗體,互相有一部分遮蓋,當(dāng)你點下面的窗體時,它就會全部顯示出來,這時它處在被激活的狀態(tài),并且標(biāo)題條變成藍(lán)色,這就是GotFocus事件,而相反,另外一個窗體被遮蓋,并且標(biāo)題條變灰,稱為LostFocus事件。上面所說的“光標(biāo)”并非指鼠標(biāo)指針。
3.鼠標(biāo)操作事件
Click事件:鼠標(biāo)單擊對象。
DbClick事件:鼠標(biāo)雙擊事件。
MouseDown、MouseUp屬性:按下/放開鼠標(biāo)鍵事件。
MouseMove事件:鼠標(biāo)移動事件。
DragDrop事件:拖放事件,相當(dāng)于MouseDown、MouseMove和MouseUp的組合。
DragOver事件:鼠標(biāo)在拖放過程中就會產(chǎn)生DragOver事件。
4.鍵盤操作屬性
KeyDown、KeyUp事件:按鍵的按下/放開事件。
KeyPress事件:按鍵事件。
5.改變控制項事件
Change事件:當(dāng)對象的內(nèi)容發(fā)生改變時,觸發(fā)Change事件。最典型的例子是文本框(TextBox)。
DropDown事件:下彈事件,僅用于組合框(ComboBox)對象。
PathChange事件:路徑改變事件,僅用于文件列表框(FileBox)對象。
6.其他事件
Timer事件:僅用于計時器,每隔一段時間被觸發(fā)一次。
二、屬性
每個對象都有它的屬性,并且“Name”屬性是共有的,有了“Name”屬性才可以在程序中進(jìn)行調(diào)用。對于屬性,可以在窗體的布局操作中完成,也可以在程序運行中改變,這取決你的需要,但有些屬性是只讀的,它只能在控件布局時改變。我將在以后的實例中具體介紹各個屬性的作用。
三、數(shù)據(jù)類型
學(xué)過編程的人都知道大多數(shù)的計算機語言都規(guī)定了各自的數(shù)據(jù)類型,VB也不例外。其實,在一個最簡單的程序中數(shù)據(jù)類型是可以不作規(guī)定的,也就是說,變量可以使用各種類型,但是在一個復(fù)雜的程序里,這樣做就很危險,因為很可能給同一個變量賦予了不同的類型,而導(dǎo)致程序出錯。所以,為了程序的嚴(yán)謹(jǐn)和便于查看,正確的定義數(shù)據(jù)類型是必要的。定義數(shù)據(jù)的另一個原因是,不同的數(shù)據(jù)占用不同的內(nèi)存數(shù)量,譬如整型(Interger)數(shù)據(jù)占2字節(jié),而長整型數(shù)據(jù)占4個字節(jié),定義合適的數(shù)據(jù)類型,不管你相信不相信,它可以節(jié)省內(nèi)存!
VB常用的數(shù)據(jù)類型有:整型(Integer,表示-32768至32767之間的整數(shù))、長整型(Long,表示-2,147,483,648至2,147,483,647之間的整數(shù))、實型(Single,表示-3.37E+38至3.37E+38之間的實數(shù))、雙精度實型(Double,表示-1.67E+308至1.67E+308之間的實數(shù)),字符(String,每個字符占一字節(jié),可以儲存0~65,535個字符),布爾(Boolean,只有兩個值True/-1,或False/0)。
數(shù)據(jù)類型的定義方法:
定義變量最簡單的方法是用“Dim”關(guān)鍵字,它的語法:
Dim 【變量名】As 【數(shù)據(jù)類型】
如:Dim Index As Integer
也可以在一行中定義多個變量,如:
Dim Index As Integer , Dim Number As Long
把多個變量定義成同一類型可以寫成:
Dim Index , Number As Integer
更可以在定義時進(jìn)行初賦值:
Dim Index=3
有時為了簡便,也以符號進(jìn)行簡單的定義,作用是和上面一樣的。整型可以用“%”代替,長整型可以用“&”代替,實型可以用“!”,雙精度實型可以用“#”定義,如剛才的第一個例子可以寫成:
Dim Index% 等價于 Dim Index As Integer
對于常量的定義用Const定義,如:Const COLOR=255。
為了在程序中便于查閱,我們對變量和常量的寫法進(jìn)行規(guī)定,變量一般用小寫方式,常量則全部大寫。
注意:使用常量的好處,對于程序中經(jīng)常出現(xiàn)的數(shù)值,應(yīng)設(shè)常量等于它,這樣一是書寫方便,其二,如果要改變該數(shù)值,只需改變定義常量的語句值,而不需改變每個語句,提高了效率。