Avatar billede area404 Nybegynder
02. april 2003 - 10:57 Der er 18 kommentarer og
1 løsning

KeyPress

Jeg kan ikke få keypress til at virke, jeg bruger denne kode:

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyF4 Then
    msgbox "hallo?"
End If
End If
End Sub

Og keypreview har jeg enabled...

Hvad er der galt?
/Ron
Avatar billede brink99 Nybegynder
02. april 2003 - 11:00 #1
jeg har ikke forstand på det men der skal vist ikke være to End If'er
Avatar billede mcgoat Nybegynder
02. april 2003 - 11:01 #2
fordi at KeyPress bruger integer = Heltal.. f.eks hvis man trykker på ENTER så returnerer den 13.. du skal bruger KeyDown tror jeg istedet for :)
og hvorfor har du egentlig 2 gange end if?
Avatar billede area404 Nybegynder
02. april 2003 - 11:08 #3
2 gange end if = taste fejl :-)

Private Sub Form_KeyDown(KeyAscii As Integer)
If KeyAscii = vbKeyF4 Then
    MsgBox "hallo?"
End If
End Sub
Virker heller ikke :-(
Avatar billede mcgoat Nybegynder
02. april 2003 - 11:21 #4
kan ikke rigtig huske det... men ellers brug 115 istedet for vbKeyF4
Resten er her:


112
    = "F1"

113
    = "F2"

114
    = "F3"

115
    = "F4"

116
    = "F5"

117
    = "F6"

118
    = "F7"

119
    = "F8"

120
    = "F9"

121
    = "F10"

122
    = "F11"

123
    = "F12"

145
    = "Scroll Lock"

19
    = "Pause"

9
    = "{TAB}"

20
    = "Caps Lock"

16
    = "Shift"

18
    = "Alt"

17
    = "Control"

32
    = "{Space}"

13
    = "Enter"

8
    = "{Back Space}"

45
    = "Insert"

36
    = "Home"

33
    = "PgUp"

46
    = "Delete"

35
    = "End"

34
    = "PgDn"

38
    = "{UP}"

37
    = "{LEFT}"

39
    = "{RIGHT}"

40
    = "{DOWN}"

27
    = "Esc"

144
    = "NumLock"

111
    = "/"

106
    = "*"

109
    = "-"
Avatar billede mcgoat Nybegynder
02. april 2003 - 11:23 #5
eller prøv dette:

Private Sub Form_KeyDown(KeyAscii As Integer)

    Select Case KeyAscii
        Case vbKeyF4
            msgbox "hej"
    End Select
End Sub
Avatar billede area404 Nybegynder
02. april 2003 - 11:31 #6
ingen af delene virker :-(
det kan altså ikke passe at ingenting virker
Kan du ikke lave et eksempel og sende det til min mail?
Ron@aaun.dk
Avatar billede mcgoat Nybegynder
02. april 2003 - 11:33 #7
er på arbejde nu, har desværre ikke VB installeret herude...
Men jeg syntes da det lyder underligt at det ikke virker...
hvad med:

Private Sub Form_KeyDown(KeyAscii As Integer)

    Select Case KeyAscii
        Case vbKeyF4:
            msgbox "hej"
    End Select
End Sub
Avatar billede mcgoat Nybegynder
02. april 2003 - 11:34 #8
hvilken version af VB bruger du?
Avatar billede area404 Nybegynder
02. april 2003 - 11:36 #9
vb 6.0
ja, meget underlidt at det ikke viker!
Avatar billede mcgoat Nybegynder
02. april 2003 - 11:38 #10
skummelt... skal lige spise lidt frokost og så skal jeg nok lige kigge på det for dig :)
Avatar billede venne Nybegynder
02. april 2003 - 11:47 #11
Du skal bruge det rigtige event og den rigtige signatur. Prøv med:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyF4:
            MsgBox "hej"
    End Select
End Sub

Pemærk at den også reagerer på Shift-F4, Ctrl-F4 osv. Det kan du regulere med Shift-parameteren.
Avatar billede jobba Nybegynder
02. april 2003 - 11:56 #12
For at din form kan genere en keypress-, eller keydown-event, skal egenskaben "KeyPreview" på din form være sat til TRUE.
Derefter vil dine events virke.

/Jobba
Avatar billede jobba Nybegynder
02. april 2003 - 11:58 #13
Sorry... Jeg havde ikke lige læst at du havde aktiveret KeyPreview.
Avatar billede mcgoat Nybegynder
02. april 2003 - 17:31 #14
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
    Case vbKeyF4:
        MsgBox "hej"
    End Select
End Sub

dette virker hos mig, eller er der noget galt med din vb, måske du skulle reinstallere?
Avatar billede mcgoat Nybegynder
02. april 2003 - 17:31 #15
og min KeyPreview er = False.. og det virker
Avatar billede eyvind Seniormester
03. april 2003 - 21:14 #16
Prøv denne: Lagt ind formen  "Keydown" (til højre)
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF4 Then
MsgBox "hallo F4 tasten virker endnu"
End If
End Sub
Eyvind.
Avatar billede eyvind Seniormester
03. april 2003 - 21:23 #17
PS. Hvis du har mange taster der kan vælges mellem så brug udgaven fra mcgoat, det bliver mere overskueligt.
Eyvind.
Avatar billede mcgoat Nybegynder
03. april 2003 - 23:20 #18
f.eks:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
    Case vbKeyF4:
        MsgBox "hej"
    Case vbKeyF5:
        MsgBox "hej igen"
    End Select
End Sub
Avatar billede area404 Nybegynder
04. april 2003 - 09:44 #19
Denne her virker:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
    Case vbKeyF4:
        MsgBox "hej"
    End Select
End Sub

Tak for hjælpen!
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