計(jì)算機(jī)VB程序事件
(作者未知) 2009/12/24
(接上頁)Change=0Then
MsgBox("還未存盤,是否存盤"),VbOkCancle,"提示!"
EndIf
EndSub
此段代碼用于程序退出時(shí)的判斷,F(xiàn)orm_QueryUnload事件表示程序退出時(shí)所執(zhí)行的事件。
這里主要介紹了事件處理器,常見的屬性與各種事件,在Windows應(yīng)用程序中,我們經(jīng)常要用到上面所介紹的屬性與事件。
焦點(diǎn)
在開發(fā)Windows程序時(shí),有一個(gè)很重要的概念——焦點(diǎn)。所謂焦點(diǎn),就是控件能夠接受鍵盤輸入的當(dāng)前狀態(tài)。只有具有焦點(diǎn)的控件,才能接受用戶的鍵盤輸入;換一種說法也可以這樣說,當(dāng)前狀態(tài)下用戶所有的鍵盤輸入只能被具有焦點(diǎn)的控件所獲得。需要注意的是,焦點(diǎn)只是在程序運(yùn)行時(shí)才有的概念,也就是說在設(shè)計(jì)程序時(shí),不能說某個(gè)控件具有焦點(diǎn)或不具有焦點(diǎn)。
焦點(diǎn)是對(duì)象接受用戶鼠標(biāo)操作或鍵盤操作的能力。當(dāng)對(duì)象具有焦點(diǎn)時(shí),才可以接受用戶的操作。例如,在有就幾個(gè)文本框的窗體中,只有具有焦點(diǎn)的文本框才能接受用戶的輸入。
要使用某個(gè)控件獲得焦點(diǎn),可以有如下三種方法:
(1)、使用鍵盤上的“Tab”鍵,將焦點(diǎn)移到相應(yīng)的控件上。
(2)、使用鼠標(biāo)直接在相應(yīng)的控件上單擊就可以了。
(3)、在程序代碼中使用該控件的“SetFocus”方法。
對(duì)于絕大多數(shù)的控件,都具有“TabStop”屬性和“Tablndex”屬性。
其中,“TabStop”屬性是用來設(shè)置是否允許用戶使用“Tab”鍵將焦點(diǎn)移到該控件上,默認(rèn)情況下是允許的!癟abStop”屬性有兩個(gè)取值:“True”和“False”,若其值為“True”時(shí),允許使用“Tab”鍵將焦點(diǎn)移到該控件;否則,就不允許。但要注意,不管“TabStop’’屬性的取值為“True”還是為“False”,使用鼠標(biāo)都可以將焦點(diǎn)轉(zhuǎn)移到該控件。
“Iablndex”屬性則是用來設(shè)置該控件的跳表順序的。前面已經(jīng)說過,使用“Tab”鍵可以將焦點(diǎn)從一個(gè)控件上轉(zhuǎn)移到另一個(gè)控件上,在這個(gè)過程中就有一個(gè)跳表順序的問題。也就是說,當(dāng)用戶第一次按下“Tab”鍵時(shí),焦點(diǎn)將會(huì)移到哪一個(gè)控件上;第二次按下“Tab”鍵時(shí),焦點(diǎn)又會(huì)移到哪一個(gè)控件上等,這個(gè)順序就是跳表順序。
在設(shè)計(jì)窗體時(shí),跳表順序是根據(jù)控件放人窗體的先后順序來決定的。即第一個(gè)放人窗體的控件將最早獲得焦點(diǎn),以后每按一次“Tab”鍵,焦點(diǎn)就會(huì)轉(zhuǎn)移到下一個(gè)放人窗體中的控件上。
在很多情況下,某些控件不需要使用“Tab”鍵將焦點(diǎn)移到該控件上或是不能根據(jù)控件放人窗體的先后順序來決定跳表順序,這時(shí)就需要設(shè)置“TabStop”屬性和“Tablndex’’屬性了!癟ablndex”屬性的取值是一個(gè)整數(shù),從0開始依次類推,該屬性的值小的將先獲取焦點(diǎn)。
另外,還有兩個(gè)與焦點(diǎn)相關(guān)的事件:“GotFocus”事件和“LostFocus”事件。當(dāng)焦點(diǎn)從一個(gè)控件轉(zhuǎn)移到另一個(gè)控件上時(shí),前者即曾經(jīng)擁有焦點(diǎn)的控件,將會(huì)發(fā)生“LostFocus”事件而后者即將會(huì)擁有焦點(diǎn)的控件,則會(huì)發(fā)生“GotFocus”事件。
以下是VB中的常見事件:
change對(duì)于滾動(dòng)條來說,滑塊位置改變;對(duì)于textbox來說,內(nèi)容改變
click對(duì)象單擊
dblclick對(duì)象雙擊
dragdrop鼠標(biāo)拖動(dòng)
dragover鼠標(biāo)拖過
dropdown鼠標(biāo)鍵松開
error錯(cuò)誤處理
gotfocus獲取焦點(diǎn)
itemcheck
keydown鍵盤按下
keyup鍵盤抬起
keypress鍵盤按鍵
linkclose網(wǎng)絡(luò)連接關(guān)閉
linkerror網(wǎng)絡(luò)連接錯(cuò)誤
linknotify
linkopen
oledragover
olegivefeedback
olestartdrag
pathchange
patternchange
reposition
scroll
timer定時(shí)器計(jì)時(shí)達(dá)到預(yù)定間隔
validate
LostFocus對(duì)象失去焦點(diǎn)
Load對(duì)象加載,比如form的加載
MouseDown鼠標(biāo)按下
MouseMove鼠標(biāo)移動(dòng)
MouseUP鼠標(biāo)抬起
OlecompleteDragole(未完,下一頁)
|