KeyPress Versus KeyUp and KeyDown

Updated jhai_salvador 0 Tallied Votes 868 Views Share

Okay, this is just a simple trick to determine whether CAPS is pressed because some people here use API to determine whether the CAPS Lock is pressed.

KeyDown and KeyUp don't detect exactly the same information as KeyPress.

KeyPress detects a character in its KeyAscii parameter, but KeyDown and KeyUp detect a physical keystroke in their KeyCode parameter.

  • KeyUp and KeyDown can detect keystrokes not recognized by KeyPress, such as function, editing, and navigation keys.
  • KeyPress can distinguish between different ASCII characters generated by the same physical keystroke.

Where did I get KeyCode = 20? Try to use a breakpoint on Text1_KeyDown event to get the keycode of the Caps Lock. This will just be available on KeyDown event.

Hopes this helps.

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 20 Then
   MsgBox "CAPS is Pressed"
End If
End Sub
AndreRet 526 Senior Poster

I have asked the mods to move this to Snippets.:)

jhai_salvador 48 Junior Poster

Thank you.

Nick Evan 4,005 Industrious Poster Team Colleague Featured Poster

Done. Next time, when creating a new thread, please select "code snippet" from the combobox. (it reads "discussion thread" standard).

jhai_salvador 48 Junior Poster

Thanks, I just forget to set it to the correct discusion section because I am at the Code Snippet tab when I created this thread, so I hope mods will also fix the default combo box value when creating threads. Thanks.

Nick Evan 4,005 Industrious Poster Team Colleague Featured Poster

The only person who can do that is the queen herself. We humble minions do not have that power :)

AndreRet 526 Senior Poster

Oh yeah, the queen herself.;)

jhai_salvador 48 Junior Poster

oh.. I didn't know that..

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.