多按键同时按下的函数'*****************************************************************'本函数用于识别多按键同时按下,最多支持同时按下128个按键'编写时间:2005年6月10日,编写人:田野(Field MAX)''函数用法:KeyClick([KeyDown][KeyUp])'KeyDown 按下的KeyPass(可选)'KeyUp 抬起的KeyPass(可选)''使用方法:分别在KeyDown和KeyUp事件内使用本函数即可获得按键码。' 获取按键码时可不输入附加值。''*****************************************************************Public AllKeyPass(127) As IntegerPublic Function KeyClick(Optional ByVal KeyDown As Integer = 0, Optional ByVal KeyUp As Integer = 0) As StringDim i As LongDim NewKeyPass As String For i = 0 To 127 If KeyDown <> 0 And AllKeyPass(i) = KeyDown Then Exit Function Next For i = 0 To 127 If AllKeyPass(i) = 0 Then AllKeyPass(i) = KeyDown Exit For End If Next For i = 0 To 127 If AllKeyPass(i) = KeyUp Then AllKeyPass(i) = 0 If AllKeyPass(i) <> 0 Then NewKeyPass = NewKeyPass & AllKeyPass(i) & "," End If Next If Len(NewKeyPass) = 0 Then KeyClick = "0" Else KeyClick = Left(NewKeyPass, Len(NewKeyPass) - 1) End IfEnd Function----------------------------------------------------------------------'演示Private Sub Command1_Click()Debug.Print KeyClickEnd SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Debug.Print KeyClick(KeyCode)End SubPrivate Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) Debug.Print KeyClick(, KeyCode)End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Debug.Print KeyClick(Button)End SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Debug.Print KeyClick(, Button)End Sub

评论