l KeyDown事件:按下鍵盤上的任意鍵 l KeyUp事件:釋放鍵盤的任意鍵 l KeyPress事件:按下對(duì)應(yīng)某ASCII字符的鍵 (11)KeyDown事件和KeyUp事件 按下鍵盤上的任意一個(gè)鍵,就會(huì)引發(fā)當(dāng)前具有焦點(diǎn)的對(duì)象的KeyDown事件。釋放時(shí),則會(huì)引發(fā)該對(duì)象的KeyUp事件。 以窗體為例,KeyDown事件和KeyUp事件的語(yǔ)法如下: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) ①Keycode參數(shù) KeyCode參數(shù)是一個(gè)整數(shù),返回所按鍵的鍵碼值。鍵碼值是以“鍵”為準(zhǔn)。例如,由于大寫字母和小寫字母使用同一鍵,因此“A”和“a”的鍵碼值是相同的。又如大鍵盤上的數(shù)字“ 表4-1 常用鍵的鍵碼值
②Shift參數(shù) Shift參數(shù)是一個(gè)整數(shù)值,返回Shift、Ctrl、Alt的狀態(tài)。只有檢查此狀態(tài)才能判斷輸入的是大寫還是小寫字母。 Shift參數(shù)用來(lái)判斷是否按下了鍵盤上的Shift、Ctrl和Alt,或這3個(gè)鍵的任意組合,其對(duì)應(yīng)的關(guān)系如表4-2所示: 表4-2 Shift的取值和Shift、Ctrl和Alt組合狀態(tài)的對(duì)應(yīng)關(guān)系
下面的代碼將測(cè)試你當(dāng)前按下的鍵,并通過(guò)消息框告訴你。 Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Dim ShiftKey As Integer ShiftKey = Shift And 7 '7對(duì)應(yīng)為1+2+4 Select Case ShiftKey Case 1 '或VbShiftMask MsgBox "You pressed the Shift key." Case 2 '或VbCtrlMask MsgBox "You pressed the Ctrl key." Case 4 '或VbAltMask MsgBox "You pressed the Alt key." End Select End Sub |
聯(lián)系客服