单身情歌数字钢琴谱:vb窗体所有事件(2)

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 20:11:39
vb窗体所有事件(2)2009-10-03 21:21

l         KeyDown事件:按下键盘上的任意键

l         KeyUp事件:释放键盘的任意键

l         KeyPress事件:按下对应某ASCII字符的键

11KeyDown事件和KeyUp事件

按下键盘上的任意一个键,就会引发当前具有焦点的对象的KeyDown事件。释放时,则会引发该对象的KeyUp事件。

以窗体为例,KeyDown事件和KeyUp事件的语法如下:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

   Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

Keycode参数

KeyCode参数是一个整数,返回所按键的键码值。键码值是以“键”为准。例如,由于大写字母和小写字母使用同一键,因此“A”和“a”的键码值是相同的。又如大键盘上的数字“1和小建盘上的数字“1,虽然是同一数字,但由于键不同,它们的键码值也不相同。常用键的键码值如表4-1所示:

4-1 常用键的键码值

Shift参数

Shift参数是一个整数值,返回ShiftCtrlAlt的状态。只有检查此状态才能判断输入的是大写还是小写字母。

Shift参数用来判断是否按下了键盘上的ShiftCtrlAlt,或这3个键的任意组合,其对应的关系如表4-2所示:

4-2 Shift的取值和ShiftCtrlAlt组合状态的对应关系

下面的代码将测试你当前按下的键,并通过消息框告诉你。

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

Dim ShiftKey As Integer

ShiftKey = Shift And 7   '7对应为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