谢谢各位,我是刚用VB来设计一个东西的,现在我明白啦
应该先选择相应的对象,然后对这个对象的kepress事件进行写语句。
比如我对一个输入框中的一个kepress事件这样写便可以实现我提出的功能
Private Sub InPwdText_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
CmdQD_Click //跳到我想要去的按钮功能
End If
End Sub
1
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte,ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2
Const VK_TAB = &H9
Private Sub Form_Keypress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
keybd_event VK_TAB, 0, 0, 0
keybd_event VK_TAB, 0, KEYEVENTF_KEYUP, 0
End If
End Sub
或
2
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long
Const WM_KEYDOWN As Long = &H100
Const VK_TAB As Long = &H9
Dim retVal as long
Private Sub Form_Keypress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
retVal = PostMessage(Me.hwnd, WM_KEYDOWN, VK_TAB, 0)
End If
End Sub
在Win98下:
Private Sub Form_Keypress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
KeyAscii = vbKeyTab
End If
End Sub
也可以,但在某些Win2k版本下会锁死键盘。不保险。