 |
下面是一个捕捉Tab键的例子。由于Tab键可以触发LostFocus事件,在这个例子中使用GetKeyState函数检查是否是使用Tab键触发的事件。
Private Declare Function GetKeyState Lib "User32" (ByVal nVirtKey As Long) As Integer
' Virtual key values
Const VK_TAB = &H9
Const VK_SHIFT = &H10
Sub txtAreaCode_LostFocus()
Dim iRetVal As Integer
' Check for a tab out of this control
' Skip the state field
iRetVal = GetKeyState(VK_SHIFT)
' 如果没有按shift,检查tab
If iRetVal <> -128 And iRetVal <> -127 Then
iRetVal = GetKeyState(VK_TAB)
If iRetVal = -128 Or iRetVal = -127 Then ' tab键按下
txtPhone.SetFocus
End If
End If
End Sub
相关问题:
QA001373 "如何捕捉当按下Tab键,相应事件被触发"
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 键盘与鼠标, mouse, keyboard, hid。
|