Avatar billede -l_jogge_l- Nybegynder
10. oktober 2003 - 14:16 Der er 3 kommentarer og
1 løsning

Keycodes Enter+Control

Hvordan får jeg den til at registrer at den kun bliver aktiveret når man trykker "Control" + "Enter"????

Jeg har denne kode indtil videre!!
-----------------------------------------------------------
Private Sub txtBesked_Key(KeyCode As Integer, shift As Integer)

Select Case KeyCode
      Case vbKeyEnter & vbKeyControl
      SendBesked

      Case vbKeyEscape
      Unload Me
End Select
End Sub
Avatar billede driis Nybegynder
10. oktober 2003 - 14:31 #1
Problemet er at din event behandler ét keystroke af gangen. Du er nødt til at kontrollere om begge taster er nede samtidigt, det kan du f.eks. gøre sådan her:

Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Const VK_CONTROL As Long = &H11
Const VK_ENTER As Long = &HD

Private Sub txtBesked_KeyDown(KeyCode As Integer, Shift As Integer)
    If (GetAsyncKeyState(VK_CONTROL) And GetAsyncKeyState(VK_ENTER) And &H8000) Then
        MsgBox "Du trykkede CTRL + ENTER!"
    End If
End Sub
Avatar billede -l_jogge_l- Nybegynder
10. oktober 2003 - 14:40 #2
Takker
Avatar billede -l_jogge_l- Nybegynder
10. oktober 2003 - 14:41 #3
Men hvad betyder det der: ...... And &H8000????
Avatar billede driis Nybegynder
10. oktober 2003 - 15:18 #4
GetAsyncKeyState returnerer en long, hvor den mest betydende bit er 1 hvis tasten er trykket ned - det svarer til 8000 hexadecimalt. Så når du And'er returværdien med &H8000, får du 0 hvis tasten ikke er trykket ned ( = false ) og en værdi forskellig fra 0 (=true), her 8000 hex, hvis tasten er trykket ned.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/getasynckeystate.asp
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