Mega Code Archive

 
Categories / Delphi / Examples
 

Virtkeycodes1

VIRTUAL KEY CODES. The following table shows the symbolic constant names, hexadecimal values, and keyboard equivalents for the virtual-key codes used by the Microsoft Windows operating system. The codes are listed in numeric order. [DON'T FORGET TO PUT 'WINDOWS' IN YOUR USES CLAUSE...] Symbolic constant name Value (hexadecimal) Mouse or keyboard equivalent VK_LBUTTON 01 Left mouse button VK_RBUTTON 02 Right mouse button VK_CANCEL 03 Control-break processing VK_MBUTTON 04 Middle mouse button (three-button mouse) ¾ 05-07 Undefined VK_BACK 08 BACKSPACE key VK_TAB 09 TAB key ¾ 0A-0B Undefined VK_CLEAR 0C CLEAR key VK_RETURN 0D ENTER key ¾ 0E-0F Undefined VK_SHIFT 10 SHIFT key VK_CONTROL 11 CTRL key VK_MENU 12 ALT key VK_PAUSE 13 PAUSE key VK_CAPITAL 14 CAPS LOCK key ¾ 15-19 Reserved for Kanji systems ¾ 1A Undefined VK_ESCAPE 1B ESC key ¾ 1C-1F Reserved for Kanji systems VK_SPACE 20 SPACEBAR VK_PRIOR 21 PAGE UP key VK_NEXT 22 PAGE DOWN key VK_END 23 END key VK_HOME 24 HOME key VK_LEFT 25 LEFT ARROW key VK_UP 26 UP ARROW key VK_RIGHT 27 RIGHT ARROW key VK_DOWN 28 DOWN ARROW key VK_SELECT 29 SELECT key ¾ 2A Original equipment manufacturer (OEM) specific VK_EXECUTE 2B EXECUTE key VK_SNAPSHOT 2C PRINT SCREEN key for Windows 3.0 and later VK_INSERT 2D INS key VK_DELETE 2E DEL key VK_HELP 2F HELP key VK_0 30 0 key VK_1 31 1 key VK_2 32 2 key VK_3 33 3 key VK_4 34 4 key VK_5 35 5 key VK_6 36 6 key VK_7 37 7 key VK_8 38 8 key VK_9 39 9 key ¾ 3A-40 Undefined VK_A 41 A key VK_B 42 B key VK_C 43 C key VK_D 44 D key VK_E 45 E key VK_F 46 F key VK_G 47 G key VK_H 48 H key VK_I 49 I key VK_J 4A J key VK_K 4B K key VK_L 4C L key VK_M 4D M key VK_N 4E N key VK_O 4F O key VK_P 50 P key VK_Q 51 Q key VK_R 52 R key VK_S 53 S key VK_T 54 T key VK_U 55 U key VK_V 56 V key VK_W 57 W key VK_X 58 X key VK_Y 59 Y key VK_Z 5A Z key ¾ 5B-5F Undefined VK_NUMPAD0 60 Numeric keypad 0 key VK_NUMPAD1 61 Numeric keypad 1 key VK_NUMPAD2 62 Numeric keypad 2 key VK_NUMPAD3 63 Numeric keypad 3 key VK_NUMPAD4 64 Numeric keypad 4 key VK_NUMPAD5 65 Numeric keypad 5 key VK_NUMPAD6 66 Numeric keypad 6 key VK_NUMPAD7 67 Numeric keypad 7 key VK_NUMPAD8 68 Numeric keypad 8 key VK_NUMPAD9 69 Numeric keypad 9 key VK_MULTIPLY 6A Multiply key VK_ADD 6B Add key VK_SEPARATOR 6C Separator key VK_SUBTRACT 6D Subtract key VK_DECIMAL 6E Decimal key VK_DIVIDE 6F Divide key VK_F1 70 F1 key VK_F2 71 F2 key VK_F3 72 F3 key VK_F4 73 F4 key VK_F5 74 F5 key VK_F6 75 F6 key VK_F7 76 F7 key VK_F8 77 F8 key VK_F9 78 F9 key VK_F10 79 F10 key VK_F11 7A F11 key VK_F12 7B F12 key VK_F13 7C F13 key VK_F14 7D F14 key VK_F15 7E F15 key VK_F16 7F F16 key VK_F17 80H F17 key VK_F18 81H F18 key VK_F19 82H F19 key VK_F20 83H F20 key VK_F21 84H F21 key VK_F22 85H F22 key VK_F23 86H F23 key VK_F24 87H F24 key ¾ 88-8F Unassigned VK_NUMLOCK 90 NUM LOCK key VK_SCROLL 91 SCROLL LOCK key ¾ 92-B9 Unassigned ¾ BA-C0 OEM specific ¾ C1-DA Unassigned ¾ DB-E4 OEM specific ¾ E5 Unassigned ¾ E6 OEM specific ¾ E7-E8 Unassigned ¾ E9-F5 OEM specific ¾ F6-FE Unassigned THE ABOVE LIST IS IN THE WINDOWS HELP SYSTEM THOUGH AND DELPHI DOESN'T ALWAYS RECOGNISE THINGS (LIKE 'VK_V' FOR EXAMPLE) -so, you can convert Key to a char, and you can use the value of Shift to look for Shift and Control keys etc- following example pastes clipboard text somewhere if CNTRL-V is pressed... procedure TParseForm.PreStrEditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); var ch: Char; begin ch := Char(Key); if ((Shift = [ssCtrl]) and ((ch = 'V') or (ch = 'v'))) then PreStrEdit.Text := Clipboard.AsText; end; OR THIS, EVEN: procedure TParseForm.PreStrEditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); var ch: Char; begin ch := Char(Key); if ((Shift = [ssCtrl]) and ((ch = 'V') or (ch = 'v'))) then PreStrEdit.Text := Clipboard.AsText; if not(Clipboard.HasFormat(CF_TEXT) = True) then Application.MessageBox('The clipboard has no text to use -see Help', ' No Text Available', mb_OK); end;