Har sökt men inte hittat asciinumret för shift + tabtangent = tab_bakåt. Eftersom vb hanterar Tab. Undantag om du bara har en kontroll på ditt formulär. Eller alla kontroller Har TabStop = False. Så kan du inte fånga Tab eller Shift+Tab. Eftersom vb navigerar mellan kontrollerna med dessa.<br>Keyascii för shift+tab
Vore tacksam om någon som vet numret kunde dela med sig...
Hälsn
Stefan Sv: Keyascii för shift+tab
<br>
Om du bara har en textbox. Eller sätter TabStop = False så kan du skriva:
<code>
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode = vbKeyTab) And (Shift And vbShiftMask) Then
Debug.Print "KeyDown: Shift+Tab"
End If
End Sub
</code>
Du kan ju i Validate eventet för ev textbox kolla KeyStat med API:
<code>
Private Const VK_TAB As Long = &H9
Private Const VK_SHIFT As Long = &H10
Private Const VK_LSHIFT As Long = &HA0
Private Const VK_RSHIFT As Long = &HA1
Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long
Private Sub Text1_Validate(Cancel As Boolean)
Dim KeyState(255) As Byte
If GetKeyboardState(KeyState(0)) Then
If (KeyState(VK_SHIFT) And 128) And (KeyState(VK_TAB) And 128) Then
Debug.Print "Validate: Shift+Tab"
Cancel = True
End If
End If
End Sub
</code>
Inte så snyggt men det fungerar.