Gå til innhold

Finne ut om Shift er nede


Anbefalte innlegg

Videoannonse
Annonse

Når hadde du tenkt at denne sjekken i så fall skulle foregå, dersom du ikke kan bruke key-eventene ?

Private Sub Txt1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 16 Then Exit Sub 'shift key
If Shift > 0 Then
   Txt1.BackColor = vbRed
Else
   Txt1.BackColor = vbWhite
End If
End Sub

Det er litt uklart hva du forsøker å få til.

 

Beste hilsen Harald

Lenke til kommentar

Det jeg mente var at eksempelet du viste meg, der jeg får keyascii og shift, ikke kan brukes, da jeg ikke kan hente informasjon fra key-eventene her jeg holder på. Jeg må enkelt og greit ha en funksjon jeg kan calle, som gir meg tilbake om Shift er nede eller ei. Noe slikt som

if ShiftIsDown then

 

Jeg har funnet noe slikt før, men er ikke lengre i stand til å oppspore den. Derfor spør jeg her.

Endret av Degeim
Lenke til kommentar

Hvis du ikke vil bruke en av de eventsa, bør vel muligens GetAsyncKeyState funke for deg.

Option Explicit

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub Form_Load()
   
   Do
       
       DoEvents
       
       If GetAsyncKeyState(16) <> 0 Then MsgBox ""
       
   Loop
   
End Sub

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...