Examples Delphi

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;