Avatar billede mbinde Nybegynder
27. marts 2001 - 19:08 Der er 12 kommentarer og
1 løsning

Gensprg.( Det første svar var ikke rigtig ): Hvordan fanger jeg når der bliver trykket på Tab-tasten ?

Jeg fik sendt noget kode, som fint fanger når en tast bliver tastet, men dan fanger ikke når det er tab-tasten der er blevet aktiveret. Hvordan gør jeg det ??

Vedlagt koden fra det tidligere svar på eksperten:

Private Sub Form_KeyPress(KeyAscii As Integer)
  If KeyAscii = 9 Then
    MsgBox \"Tab was pressed\", vbOKOnly, \"GOT IT !!\"
  End If
End Sub

På forhånd tak
Avatar billede minijensen1 Nybegynder
27. marts 2001 - 19:17 #1
Private Sub Form_KeyPress(KeyAscii As Integer)
  If KeyAscii = vbTab Then
    MsgBox \"Tab was pressed\", vbOKOnly, \"GOT IT !!\"
  End If
End Sub
Avatar billede mbinde Nybegynder
27. marts 2001 - 19:20 #2
Den fanger stadig ikke tab-tasten. Det er som om når formen bruger den default til at rykke fra felt til felt, så kan man ikke \"fange\" den når den aktiveres.
Avatar billede minijensen1 Nybegynder
27. marts 2001 - 19:37 #3
Det er nok rigtigt. Windows rykker automatisk videre til næste felt, når du bruger TAB!
Avatar billede mbinde Nybegynder
27. marts 2001 - 19:39 #4
Kan man ikke fange den på en eller anden måde ??
Avatar billede minijensen1 Nybegynder
27. marts 2001 - 19:43 #5
Jeg har lige testet din kode. Det virker kun hvis der ikke er nogle tekstboxe, radioknapper, osv..  :-(
Avatar billede minijensen1 Nybegynder
27. marts 2001 - 19:44 #6
Du kan vel skrive koden i alle dine tekstboxe, radioknapper, osv..  Men bliver nok lidt rodet! Ellers så lav en function til det!
Avatar billede mbinde Nybegynder
27. marts 2001 - 19:46 #7
Det bliver for rodet. Jeg har ca. 20 felter.
Avatar billede minijensen1 Nybegynder
27. marts 2001 - 19:48 #8
Private Function getTab(KeyAscii As Integer)
  If KeyAscii = 9 Then
    MsgBox \"Tab was pressed\", vbOKOnly, \"GOT IT !!\"
  End If
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
  Call getTab(KeyAscii)
End Sub

Og så for alle din tekstboxe osv

Private Sub txtTest_KeyPress(KeyAscii As Integer)
  Call getTab(KeyAscii)
End Sub
Avatar billede minijensen1 Nybegynder
27. marts 2001 - 19:49 #9
Det er det eneste jeg lige kan finde på! Ellers så lad spørgsmålet stå!
Avatar billede picard Nybegynder
27. marts 2001 - 21:09 #10
Hejsa

prøv dette:

Private Declare Function GetKeyState% _
        Lib \"User32\" (ByVal nVirtKey%)

Private Sub Text1_LostFocus()
  If GetKeyState(vbKeyTab) < 0 Then
    Text1.SetFocus
    MsgBox \"Du kan forsøge - \" & _
          \"men, du kommer aldrig ud af tekstboksen\"

  End If
End Sub


mvh
Christian
Avatar billede mbinde Nybegynder
27. marts 2001 - 21:40 #11
Det var schönnnnnnn
Avatar billede mbinde Nybegynder
28. marts 2001 - 08:45 #12
Det går fint nok med at fange tab-tasten nu, hvordan fanger jeg så hvis shift og tab bliver aktiveret, så jeg skal kunne \"gå\" tilbage.
Det er som om både tab og shift-tab har integer værdi 9 begge to.
Avatar billede picard Nybegynder
30. marts 2001 - 12:35 #13
Du kan evt. spørge på om shift er trykket down

Private Sub Text1_KeyDown (KeyCode As Integer, Shift As Integer)
    Dim ShiftDown
    ShiftDown = (Shift And vbShiftMask) > 0
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester