




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Visual Basic程序設計教學課件程序設計教學課件 1. 理解鼠標、鍵盤事件的觸發機制。理解鼠標、鍵盤事件的觸發機制。 2. 掌握鼠標的掌握鼠標的MouseDown, MouseMove, MouseUp事件中各參數的含義及編程控制。事件中各參數的含義及編程控制。 3. 掌握鍵盤的掌握鍵盤的KeyDown, KeyPress, KeyUp 事件中各事件中各參數的含義及編程控制參數的含義及編程控制 4. 了解事件驅動的拖放和了解事件驅動的拖放和 OLE 的拖放。的拖放。本章要求:本章要求:第第12章章 鍵盤與鼠標事件過程鍵盤與鼠標事件過程本章重點:本章重點:本章難點:本章難點:理解鼠標、鍵
2、盤事件的觸發機制運用理解鼠標、鍵盤事件的觸發機制運用事件驅動的拖放和事件驅動的拖放和 OLE 的拖放的拖放Visual Basic程序設計教學課件程序設計教學課件 12.1 鍵盤事件 在在Visual Basic中,提供中,提供KeyPress、KeyDown、KeyUp三種三種鍵盤事件,窗體和接受鍵盤輸入的控件都識別這三種事件。鍵盤事件,窗體和接受鍵盤輸入的控件都識別這三種事件。 KeyPress 按下對應某按下對應某ASCII 字符的鍵。字符的鍵。 KeyDown 按下鍵盤的任意鍵。按下鍵盤的任意鍵。 KeyUp 釋放鍵盤的任意鍵只有獲得焦點的對象才能夠接釋放鍵盤的任意鍵只有獲得焦點的對象
3、才能夠接受鍵盤事件。受鍵盤事件。 12.1.1 KeyPress 事件事件在按下與在按下與ASCII字符對應的鍵時將觸發字符對應的鍵時將觸發KeyPress 事件。事件。 Visual Basic程序設計教學課件程序設計教學課件 KeyPress 事件過程的語法格式是:事件過程的語法格式是:其中:其中: 例如,如果希望將文本框中的所有字符都強制轉換為大寫例如,如果希望將文本框中的所有字符都強制轉換為大寫字符,則可在輸入時使用此事件轉換大小寫:字符,則可在輸入時使用此事件轉換大小寫:Private Sub Text1_KeyPress (KeyAscii As Integer) KeyAscii
4、 = Asc(Ucase(Chr(KeyAscii)End Sub Object是指窗體或控件對象名,是指窗體或控件對象名,KeyAscii 參數返回對應參數返回對應于于ASCII字符代碼的整型數值。字符代碼的整型數值。 12.1 鍵盤事件Visual Basic程序設計教學課件程序設計教學課件 例例12.1 12.1 通過編程序,在一個文本框(通過編程序,在一個文本框(Text1Text1)中限定只能)中限定只能輸入數字、小數點,只能響應輸入數字、小數點,只能響應BackSpaceBackSpace 鍵及回車鍵。鍵及回車鍵。Private Sub Text1_KeyPress (KeyAsc
5、ii As Integer) Select Case KeyAscii Case 48 to 57,46,8,13 Case Else KeyAscii=0 End SelectEnd Sub KeyPress 事件只識別事件只識別 Enter、Tab和和Backspace 鍵。不能鍵。不能夠檢測其它功能鍵、編輯鍵和定位鍵。夠檢測其它功能鍵、編輯鍵和定位鍵。 12.1 鍵盤事件Visual Basic程序設計教學課件程序設計教學課件 12.1.2 KeyDown 和和 KeyUp 事件事件 當一個對象具有焦點時按下(當一個對象具有焦點時按下(KeyDown) 或松開或松開 ( KeyUp )
6、一個鍵時發生。它們報告鍵盤本身準確的物理狀一個鍵時發生。它們報告鍵盤本身準確的物理狀態:按下鍵態:按下鍵 (KeyDown) 及松開鍵及松開鍵 (KeyUp)。 KeyDown和和KeyUp事件能夠檢測其它功能鍵、編輯鍵和定事件能夠檢測其它功能鍵、編輯鍵和定位鍵。位鍵。KeyUp 和和 KeyDown 事件過程的語法格式如下:事件過程的語法格式如下:Sub Object_KeyDown(KeyCode As Integer, Shift As Integer)Sub Object_KeyUp(KeyCode As Integer, Shift As Integer)說明:說明:1Keycode
7、 參數表示按下的物理鍵。上檔鍵字符和下檔鍵參數表示按下的物理鍵。上檔鍵字符和下檔鍵字符也是使用同一鍵,它們的字符也是使用同一鍵,它們的Keycode值相同。值相同。 Visual Basic程序設計教學課件程序設計教學課件 keycode 參數通過參數通過 ASCII 值或鍵代碼常數來識別鍵。字值或鍵代碼常數來識別鍵。字母鍵的鍵代碼與此字母的大寫字符的母鍵的鍵代碼與此字母的大寫字符的 ASCII 值相同。所以值相同。所以 A 和和 a 的的 keycode 都是由都是由 Asc(A) 返回的數值。在下返回的數值。在下例中用例中用 KeyDown 事件判斷是否按下了事件判斷是否按下了 A 鍵:鍵
8、:12.1 鍵盤事件Visual Basic程序設計教學課件程序設計教學課件 Private Sub Text1_KeyDown(KeyCode As _ Integer, Shift As Integer) If KeyCode = vbKeyA Then MsgBox You pressed the A key.“ End ifEnd SubPrivate Sub Text1_KeyDown(KeyCode As _ Integer, Shift As Integer) If KeyCode = vbKey1 And shift=1 Then MsgBox You pressed the
9、! key.“ End ifEnd Sub12.1 鍵盤事件Visual Basic程序設計教學課件程序設計教學課件 2shift參數參數shift表示是在該事件發生時響應表示是在該事件發生時響應SHIFT、CTRL 和和 ALT 鍵鍵的狀態,它是一個整數。其含義與上一節中的狀態,它是一個整數。其含義與上一節中MouseMove、MouseDown、MouseUp事件中的事件中的shift參數完全相同。參數完全相同。例如:下例是用例如:下例是用Shift參數判斷是否按下了字母的大寫形式。參數判斷是否按下了字母的大寫形式。Private Sub Text1_KeyDown(KeyCode As
10、Integer, Shift As Integer) If KeyCode = vbKeyA And Shift = 1 Then MsgBox “你按了大寫字母你按了大寫字母A鍵鍵.End ifEnd Sub12.1 鍵盤事件Visual Basic程序設計教學課件程序設計教學課件 思考題:思考題: 編寫一個在文本框(編寫一個在文本框(Text1)中操作,能夠響應鍵)中操作,能夠響應鍵盤組合操作的程序,用戶所作的每一步操作都將在標簽框盤組合操作的程序,用戶所作的每一步操作都將在標簽框(Label1)中顯示出相關信息。)中顯示出相關信息。12.1 鍵盤事件Visual Basic程序設計教學課
11、件程序設計教學課件 12.2 鼠標事件鼠標事件 大多數控件能夠識別鼠標的大多數控件能夠識別鼠標的MouseMove、MouseDown和和MouseUp事件,通過響應這些鼠標事件,能在應用程序對鼠事件,通過響應這些鼠標事件,能在應用程序對鼠標位置及狀態的變化作出響應操作。標位置及狀態的變化作出響應操作。MouseMove 每當鼠標指針移動到屏幕新位置時發生每當鼠標指針移動到屏幕新位置時發生MouseDown 按下任意鼠標鍵按鈕時發生按下任意鼠標鍵按鈕時發生MouseUp 釋放任意鼠標鍵按鈕時發生釋放任意鼠標鍵按鈕時發生12.2.1 鼠標事件過程鼠標事件過程Visual Basic程序設計教學課
12、件程序設計教學課件 MouseMove、MouseDown、MouseUp三個事件的過程的語三個事件的過程的語法格式如下:法格式如下:Sub Object_MouseMove(Button As Integer,Shift As Integer,_ X As Single,Y As Single)Sub Object _MouseDown(Button As Integer,Shift As Integer,_ X As Single,Y As Single)Sub Object _MouseUp(Button As Integer,Shift As Integer,_ X As Single
13、,Y As Single) 其中:其中:1Object是可選的一個對象表達式,可以是窗體對象和大多是可選的一個對象表達式,可以是窗體對象和大多數可視控件。數可視控件。 2Button參數是表示按下或松開鼠標哪個按鈕,參數是表示按下或松開鼠標哪個按鈕, 12.2 鼠標事件鼠標事件Visual Basic程序設計教學課件程序設計教學課件 參數參數Button值值參數(參數(Button)值值 說明說明vbLeftButton 1左按鈕被按下左按鈕被按下vbRightButton 2右按鈕被按下右按鈕被按下vbMiddleButton 4中間按鈕被按下中間按鈕被按下 12.2 鼠標事件鼠標事件Vis
14、ual Basic程序設計教學課件程序設計教學課件 參數參數Shift值值參數(參數(Shift) 值值 描述描述vbShiftMask 1SHIFT 鍵被按下鍵被按下vbCtrlMask 2CTRL 鍵被按下鍵被按下vbAltMask 4ALT 鍵被按下鍵被按下 3通過通過Shift參數表示在參數表示在Button參數指定的按鈕被按下參數指定的按鈕被按下或者被松開的情況下鍵盤的或者被松開的情況下鍵盤的Shift、Ctrl和和Alt鍵的狀態,鍵的狀態, 12.2 鼠標事件鼠標事件Visual Basic程序設計教學課件程序設計教學課件 Ctrl、Shift、Alt三鍵組合使用情況如表三鍵組合使
15、用情況如表12112.2 鼠標事件鼠標事件Visual Basic程序設計教學課件程序設計教學課件 4. 參數參數X、Y X, Y鼠標指針的位置,通過鼠標指針的位置,通過X和和Y參數返回一個指定鼠參數返回一個指定鼠標指針當前位置的數,標指針當前位置的數,X和和Y的值是使用該對象的坐標系統的值是使用該對象的坐標系統表示鼠標指針當前位置。表示鼠標指針當前位置。 注意:注意: 鼠標事件被用來識別和響應各種鼠標狀態,并把這些狀鼠標事件被用來識別和響應各種鼠標狀態,并把這些狀態看作獨立的事件,在按下鼠標按鈕并釋放時,態看作獨立的事件,在按下鼠標按鈕并釋放時,Click 事件事件只能把此過程識別為一個單一
16、的單擊操作。鼠標事件能夠區只能把此過程識別為一個單一的單擊操作。鼠標事件能夠區分各鼠標按鈕及鍵盤的分各鼠標按鈕及鍵盤的SHIFT、CTRL、ALT 鍵的狀態。鍵的狀態。例題:例題:使用使用MouseUp 與與 MouseDown 和和MouseMove 事件,事件,編寫一個在窗體上用鼠標繪圖的簡單程序。編寫一個在窗體上用鼠標繪圖的簡單程序。 12.1 鼠標事件鼠標事件Visual Basic程序設計教學課件程序設計教學課件 12.3.1 控件控件 拖拖 放放 (簡略介紹,一般不作要求) 在運行時拖動控件,通常情況下并不能自動改變控件位置,在運行時拖動控件,通常情況下并不能自動改變控件位置,這就
17、必須使用這就必須使用Visual Basic的拖放功能,通過編程,才能實的拖放功能,通過編程,才能實現在運行時拖動控件并改變其位置。把按下鼠標按鈕并移動現在運行時拖動控件并改變其位置。把按下鼠標按鈕并移動控件的操作稱為控件的操作稱為拖動拖動,把釋放按鈕的操作稱為,把釋放按鈕的操作稱為放下放下。12.3 拖放操作拖放操作Visual Basic程序設計教學課件程序設計教學課件 在運行時間拖放鼠標觸發DragDrop事件。源和目標:源和目標:l源:指被拖放的控件(不包括Menu、Timer、 Line和Shape控件)。l目標:指在其上放置控件的對象,可以是窗體或 控件。注意:注意:執行拖放操作引
18、發的是目標對象目標對象的 DragDrop事件。 Private Sub Form_DragDrop(Source As Control, x As Single,y As Single) Private Sub 對象名對象名_DragDrop(index As Integer,Source As Control,x As Single,y As Single)Visual Basic程序設計教學課件程序設計教學課件 index:唯一標識控件數組中的控件。Source:被拖放的控件。x,y:鼠標在目標對象中的位置坐標。過程名中的Form或對象名即為目標對象。(為了在運行時間實現拖動)lDragMode屬性: 源控件源控件 DragMode屬性設置 為1,表示自動模式。(缺省值為0: 手工模式)lDragIcon屬性:設置拖放顯示的圖標。Visual Basic程序設計教學課件程序設計教學課件 當用戶用鼠標拖動源對象經過目標對象時, 無論鼠標是否釋放,都會引發目標對象的 DragOver事件。(源對象的DragMode=1) Private Sub Form_DragOver(Source As Control, x As Single,y As Single,state
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國激光雕刻軟件項目創業計劃書
- 中國AI開發平臺項目創業計劃書
- 中國金融移動應用項目創業計劃書
- 中國計算機輔助翻譯(CAT)系統項目創業計劃書
- 中國骨科材料項目創業計劃書
- 中國高檔牛羊肉項目創業計劃書
- 中國動態應用程序安全測試軟件項目創業計劃書
- 中國3D購物項目創業計劃書
- 量子動力學在生物醫學中的應用研究-洞察闡釋
- 樂理樂理試題及答案
- 起重機械安全技術規程(TSG-51-2023)宣貫解讀課件
- 供電線路工程施工投標方案(技術標)
- 2024屆上海市普陀區上海師大附中化學高二下期末綜合測試試題含解析
- 循環經濟產業鏈拓展項目商業計劃書
- 工廠保安服務投標方案
- 天然氣密度計算
- 3地質勘查項目預算標準
- 招生輿情防控應急預案
- 【5A】Word2016全套高級培訓教程
- 達林頓三極管
- 物業組織機構設置及人員配置方案
評論
0/150
提交評論