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