4.4 對(duì)象的事件
一。對(duì)象的事件是對(duì)象的動(dòng)作和行為。vfp中對(duì)象的事件可通過(guò)用戶操作、程序代碼或系統(tǒng)觸發(fā)。只有當(dāng)事件發(fā)生時(shí),事件的程序才會(huì)運(yùn)行。如果沒(méi)有任何事件發(fā)生,則整個(gè)程序就處于停滯狀態(tài)。比如在第一章所舉的實(shí)例中,運(yùn)行表單后,如果我們什么也不做,則程序處于停頓狀態(tài)。我們?cè)?半徑"文本框中輸入一個(gè)半徑,然后單擊"計(jì)算"按鈕,則觸發(fā)命令按鈕的click事件,內(nèi)部的代碼得到執(zhí)行,計(jì)算出圓的面積顯示在第二個(gè)文本框中。所以說(shuō),vfp程序是由事件驅(qū)動(dòng)的程序。
二。事件的分類:
1.鼠標(biāo)事件:所謂鼠標(biāo)事件,就是在vfp應(yīng)用程序的運(yùn)行界面中,用鼠標(biāo)對(duì)其中的對(duì)象進(jìn)行操作所觸發(fā)和事件。
(1).Click事件:是鼠標(biāo)單擊時(shí)所產(chǎn)生的事件。click事件既可由用戶觸發(fā),也可由執(zhí)行事件的程序代碼觸發(fā)。
(2).Dbclick事件:雙擊鼠標(biāo)時(shí)產(chǎn)生的事件。
(3).mousedown和mouseup事件:當(dāng)鼠標(biāo)指針指向?qū)ο蟛聪率髽?biāo)左鍵時(shí)觸發(fā)mousedown事件,當(dāng)釋放鼠標(biāo)左鍵時(shí)觸發(fā)mouseup事件。
(4).mousemove事件:在對(duì)象上移動(dòng)鼠標(biāo)指針時(shí)產(chǎn)生的事件。
(5).dragdrop事件:用鼠標(biāo)拖動(dòng)對(duì)象時(shí)產(chǎn)生的事件。
(6).downclick和upclick事件:當(dāng)用鼠標(biāo)單擊組合框、列表框或微調(diào)器的向下箭頭時(shí),觸發(fā)downclick事件;單擊向上箭頭時(shí),觸發(fā)upclick事件。
2.鍵盤事件keypress:單擊某一鍵時(shí)產(chǎn)生的事件。通常對(duì)獲取焦點(diǎn)的對(duì)象,當(dāng)按下鍵盤鍵并放開(kāi)時(shí)觸發(fā)keypress事件。參數(shù):鍵ASCⅡ碼,shiftctrlalt狀態(tài)
其中,shiftctrlalt狀態(tài)為三鍵值的和。shift值為1,ctrl值為2,alt值為4
3.改變對(duì)象內(nèi)容事件interactivechange:當(dāng)用操作改變對(duì)象內(nèi)容時(shí)交觸發(fā)此事件,比如改變文本框中的內(nèi)容將觸發(fā)文本框的interactivechange事件。
4.對(duì)象的焦點(diǎn)事件:當(dāng)對(duì)象取得焦點(diǎn)(focus)時(shí),該對(duì)象將成為當(dāng)前活動(dòng)對(duì)象,操作將面向該對(duì)象。若文本框取得焦點(diǎn),光標(biāo)將在文本框中閃爍,指明編輯文本的當(dāng)前位置。當(dāng)命令按鈕獲得焦點(diǎn)時(shí),按鈕框內(nèi)出現(xiàn)虛線框。屬于控件焦點(diǎn)的事件有:獲取焦點(diǎn),失去焦點(diǎn)以及獲取和失去焦點(diǎn)前觸發(fā)的事件。
(1).獲取焦點(diǎn)事件gotfocus:當(dāng)對(duì)象獲取焦點(diǎn)時(shí)將觸發(fā)gotfocus事件,而獲取焦點(diǎn)的方法可以通過(guò)按tab鍵,鼠標(biāo)單擊對(duì)象或?qū)?duì)象使用 setfocus方法。注意:只有對(duì)象的enabled和visible屬性為"真"(.T.)時(shí),對(duì)象才能獲得焦點(diǎn)。
(2).失去焦點(diǎn)事件lostfocus:當(dāng)對(duì)象失去焦點(diǎn)時(shí)將觸發(fā)該事件。對(duì)象可能因操作失去焦點(diǎn),例如重新選擇對(duì)象或單擊另一對(duì)象;也可能在程序代碼中執(zhí)行獲取焦點(diǎn)的方法setfocus.失去焦點(diǎn)的事件代碼常用于取消gotfocus事件代碼所做的工作,例如取消在執(zhí)行g(shù)otfocus事件過(guò)程代碼所提供的指導(dǎo)用戶操作信息。
(3).when事件:此事件在對(duì)象獲取焦點(diǎn)前發(fā)生。如果when事件返回真值,則對(duì)象可獲取焦點(diǎn);否則對(duì)象不能獲取焦點(diǎn)。
(4).vaid事件:在對(duì)象失去焦點(diǎn)前觸發(fā)此事件,以控制對(duì)象是否真的失去焦點(diǎn)。若vaid返回真值,對(duì)象才可失去焦點(diǎn);否則對(duì)象不會(huì)失去焦點(diǎn)。
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)VF三套全真預(yù)測(cè)試題及答案全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF輔導(dǎo)筆記匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |