VB程序設(shè)計第十一章鍵盤和鼠標事件過程_第1頁
VB程序設(shè)計第十一章鍵盤和鼠標事件過程_第2頁
VB程序設(shè)計第十一章鍵盤和鼠標事件過程_第3頁
VB程序設(shè)計第十一章鍵盤和鼠標事件過程_第4頁
VB程序設(shè)計第十一章鍵盤和鼠標事件過程_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、2021/4/21Visual Basic程序設(shè)計教程程序設(shè)計教程內(nèi)蒙古科技大學實踐訓練中心內(nèi)蒙古科技大學實踐訓練中心第十一章第十一章 鍵盤和鼠標事件過程鍵盤和鼠標事件過程2021/4/22鍵盤事件鍵盤事件: KeyPress KeyPress 事件:用戶按下并釋放一個能產(chǎn)生一個能產(chǎn)生事件:用戶按下并釋放一個能產(chǎn)生一個能產(chǎn)生ASCIIASCII碼的鍵時碼的鍵時 被觸發(fā);被觸發(fā); KeyUp KeyUp 事件:用戶釋放任一鍵時被觸發(fā);事件:用戶釋放任一鍵時被觸發(fā); KeyDown KeyDown 事件:用戶按下任一個鍵時被觸發(fā);事件:用戶按下任一個鍵時被觸發(fā);2021/4/23引發(fā)引發(fā)KeyPr

2、essKeyPress事件的按鍵:事件的按鍵: 數(shù)字、大小寫字母、數(shù)字、大小寫字母、EnterEnter、BackspaceBackspace、EscEsc、TabTab等鍵。 如文本框Text1Text1的KeyPressKeyPress事件如下: Private Sub Text1_KeyPress(Keyascii as integer)Private Sub Text1_KeyPress(Keyascii as integer) End Sub End Sub “a” “a”的的ASCIIASCII值為值為9797;“A”A”的的ASCIIASCII值為值為6565;2021/4/24

3、 當控制焦點在某個對象上時,按下鍵盤上的任一鍵,便會引發(fā)該對象的KeyDownKeyDown事件,釋放按鍵便會觸發(fā)KeyUpKeyUp事件。 如文本框Text1Text1的KeyDownKeyDown事件過程: Private Sub Text1_KeyDown(KeyCode as integer,Shift As integer)Private Sub Text1_KeyDown(KeyCode as integer,Shift As integer) End Sub End Sub 如文本框Text1Text1的KeyUpKeyUp事件過程: Private Sub Text1_KeyU

4、p(KeyCode as integer,Shift As integer)Private Sub Text1_KeyUp(KeyCode as integer,Shift As integer) End Sub End Sub 參數(shù):參數(shù): KeyCodeKeyCode:為用戶所操作的鍵的掃描碼;即鍵的物理位置相同則KeyCodeKeyCode參數(shù)值相同(”A“和”a“;5和等);但大鍵盤的數(shù)字和小鍵盤的數(shù)字的KeyCodeKeyCode不一樣;2021/4/25 參數(shù):參數(shù): Shift Shift:根據(jù)是否同時按下ShiftShift、CtrlCtrl和AltAlt鍵返回的一個整數(shù); 整

5、數(shù)值符號常量說明1vbShiftMask按下Shift鍵2vbCtrlMask按下Ctrl鍵4vbAltMask按下Alt鍵0沒有按下Shift、Ctrl、Alt鍵7同時按下Shift、Ctrl、Alt鍵 鍵盤三個事件的觸發(fā)順序:KeyDownKeyDown、KeyPressKeyPress、KeyUpKeyUp; 一般情況下,控件可以觸發(fā)這三個事件; 但窗體必須將“KeyPreiewKeyPreiew”屬性值設(shè)為TrueTrue;則首先窗體的KeyPressKeyPress、 KeyUp KeyUp和KeyDownKeyDown;2021/4/26 例例11-111-1設(shè)計一個應(yīng)用程序。在窗

6、體上建立一個文本框和一個標簽,當從鍵盤設(shè)計一個應(yīng)用程序。在窗體上建立一個文本框和一個標簽,當從鍵盤向文本框英文字符時,將其轉(zhuǎn)換成大寫字母顯示在標簽中向文本框英文字符時,將其轉(zhuǎn)換成大寫字母顯示在標簽中。 解題思路解題思路:在text1的keypress事件中,將鍵盤的asc碼轉(zhuǎn)化為相應(yīng)的字符, 再將其轉(zhuǎn)化為大寫。Private Sub Text1_KeyPress(KeyAscii As Integer) Dim char As String char = UCase(Chr(KeyAscii) Label1.Caption = Label1.Caption & charEnd Sub2021/

7、4/27 例例11-211-2設(shè)計一個應(yīng)用程序。在窗體上建立一個文本框,其屬性值均為默認值,設(shè)計一個應(yīng)用程序。在窗體上建立一個文本框,其屬性值均為默認值,并將窗體的并將窗體的KeyPreviewKeyPreview屬性值設(shè)為屬性值設(shè)為TrueTrue。 解題思路解題思路:若設(shè)置窗體的KeyPreviewKeyPreview屬性值為TrueTrue,則先執(zhí)行窗體的KeyPressKeyPress事件,而后執(zhí)行文本框的KeyPressKeyPress事件; Private Sub Form_KeyPress(KeyAscii As Integer) KeyAscii = KeyAscii + 1E

8、nd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) KeyAscii = KeyAscii + 1End Sub2021/4/28 例例11-311-3設(shè)計一個應(yīng)用程序。當按下設(shè)計一個應(yīng)用程序。當按下AltAltF5F5組合鍵時終止程序運行組合鍵時終止程序運行。 說明:先將窗體的KeyPreiew設(shè)為True; F5的KeyCde值為vbKeyF5; Alt鍵被按下的常數(shù)為vbAltMask Private Sub Form_KeyDown(KeyCode as integer,Shift as integer)Private Sub F

9、orm_KeyDown(KeyCode as integer,Shift as integer) If keycode=vbkeyF5 and Shift=vbAltMask then If keycode=vbkeyF5 and Shift=vbAltMask then end end end if end if2021/4/29 MouseDownMouseDown事件;事件; MouseUpMouseUp事件;事件; MouseMoveMouseMove事件;事件;以窗體以窗體FormForm為例:為例: Private Sub Form_MouseDown(Button as inte

10、ger, Shift as Integer,Private Sub Form_MouseDown(Button as integer, Shift as Integer, x as single,y as single) x as single,y as single) end sub end sub Private Sub Form_MouseUp(Button as integer, Shift as Integer,Private Sub Form_MouseUp(Button as integer, Shift as Integer, x as single,y as single)

11、x as single,y as single) end sub end sub Private Sub Form_MouseMove(Button as integer, Shift as Integer,Private Sub Form_MouseMove(Button as integer, Shift as Integer, x as single,y as single) x as single,y as single) end sub end sub2021/4/210 參數(shù):參數(shù): Button Button參數(shù)參數(shù):參數(shù)值符號常量說明1vbLeftButton按下鼠標左鍵2vbRightButton按下鼠標右鍵4vbMiddleButton按下鼠標中鍵 ShiftShift:同鍵盤的ShiftShift參數(shù); x x、y y:對應(yīng)于鼠標指針的位置;鼠標事件出發(fā)順序鼠標事件出發(fā)順序: MouseDownMouseDown、ClickClick、MouseUpMouseUp 2021/4/211例例11-411-4利用鼠標畫圓利用鼠標畫圓。 方法:利用MuseDownMuseDown事件記錄圓心的坐標,用MouseUpMouseUp事件記錄半徑端點的坐標,計算半徑,再利用CircleCircle方法在窗體上畫圓。例例11-511-5顯示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論