Avatar billede akesson Nybegynder
15. juni 2004 - 00:19 Der er 11 kommentarer og
1 løsning

KeyDown Problem

Hej med jer derude....
Hvordan laver man sådan i vb at når man holder en knap i bund f.eks Ctrl , så ignorer den det kode der ligger i det og når slipper, er det normalt igen?

/Akesson
Avatar billede medions Nybegynder
15. juni 2004 - 08:11 #1
Ved at du først fange en OnKeyDown, herefter finder du ud af hvornår brugeren slipper tasten igen med OnKeyUp.

//>Rune
Avatar billede akesson Nybegynder
15. juni 2004 - 10:27 #2
Hvordan gør man det?
Avatar billede medions Nybegynder
15. juni 2004 - 10:34 #3
Har du fundet ud af det siden du har accepteret mit svar?

//>Rune
Avatar billede akesson Nybegynder
15. juni 2004 - 10:36 #4
kom til acceptere dit svar, men ikke med vilje
Avatar billede akesson Nybegynder
15. juni 2004 - 10:58 #5
Men vil du ikke godt svare aligevel?
Avatar billede medions Nybegynder
15. juni 2004 - 11:00 #6
Jov, det skal jeg nok, men jeg har lige lidt travlt, så der komme rlige til at at gå lidt tid...

//>Rune
Avatar billede medions Nybegynder
15. juni 2004 - 11:10 #7
Her har du det:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn Then MsgBox ("A tasten bliver holdt nede!")
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn Then MsgBox ("A tasten bliver sluppet!")
End Sub

//>Rune
Avatar billede akesson Nybegynder
15. juni 2004 - 11:10 #8
ok Tak.. Jeg skal os til Eksamen kl 12, så bare skriv.
Har du msn? da det nok går lidt hurtigere
Avatar billede medions Nybegynder
15. juni 2004 - 11:11 #9
tjoo, det har jeg da,.. rune{snabela}medions.dk

//>Rune
Avatar billede akesson Nybegynder
15. juni 2004 - 11:13 #10
Nej det har jeg ikke
Avatar billede akesson Nybegynder
15. juni 2004 - 11:14 #11
Skal jeg sætte det ind?
Avatar billede medions Nybegynder
15. juni 2004 - 11:28 #12
du skal sætte form1.keypreview = True - hvor form1 evt erstattes med det navn din form har.

På denne måde vil formen få tastetryk først og du skal så evaluere dem i henhold til det input der fra tastaturet.

Læg denne kode på din form

Option Explicit

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

    Dim ctrlKey As String
   
    me.windowstate = vbmaximized

    Select Case Shift
   
    Case 0
        ctrlKey = "INGEN"
    Case 1
    'shift = 1
        ctrlKey = "SHIFT"
    Case 2
    'ctrl = 2
        ctrlKey = "CTRL"
    Case 3
    'ctrl+shft = 3
        ctrlKey = "CTRL+SHIFT"
    Case 4
    'alt = 4
        ctrlKey = "ALT"
    Case 6
    'ctrl+alt = 6
        ctrlKey = "CTRL+ALT"
    Case 7
    'shft+ctrl+alt
        ctrlKey = "SHIFT+CTRL+ALT"
    Case Else
        ctrlKey = "IKKE DEFINERET"
    End Select
   
    Print "Skiftetaste : " & ctrlKey & vbCr
    Print "Tastetryk : " & KeyCode & vbCrLf

End Sub


Du vil nu få nogle værdier skrevet på formen alt efter hvilke taster du trykker.

Du så kunne se alle de forskellige kombinationer der kan laves.

//>Rune
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