- Событие OnKeyDown
Событие OnKeyDown
Событие OnKeyDown наступает, если компонент находится в фокусе, при нажатии пользователем любой клавиши, включая функциональные и специальные, такие как <Shift>, <Alt> и <Ctrl>. Кроме обычного параметра Sender, указывающего на компонент, в котором произошло событие, в обработчик события передаются такие параметры, как Key и Shift. Параметр Key позволяет определить код нажатой клавиши клавиатуры.
Для большинства клавиш имеются также символьные имена API Windows. Коды клавиш и соответствующих им символьных имен приведены в табл. 22.2.
Таблица 22.2. Коды клавиш и соответствующих им символьных имен
На основном поле клавиатуры
Клавиша | Десятичное значение кода | Шестнадцатеричное значение кода | Символьное имя |
F1 | 112 | 0x70 | VK_F1 |
F2 | 113 | 0x71 | VK_F2 |
F3 | 114 | 0x72 | VK_F3 |
F4 | 115 | 0x73 | VK_F4 |
F5 | 116 | 0x74 | VK_F5 |
F6 | 117 | 0x75 | VK_F6 |
F7 | 118 | 0x76 | VK_F7 |
F8 | 119 | 0x77 | VK_F8 |
F9 | 120 | 0x78 | VK_F9 |
F10 | 121 | 0x79 | VK_F10 |
пробел | 32 | 0x20 | VK_SPACE |
Backspace | 8 | 0x8 | VK_BACK |
Tab | 9 | 0x9 | VK_TAB |
Enter | 13 | 0x0D | VK_RETURN |
Shift | 16 | 0x10 | VK_SHIFT |
Ctrl | 17 | 0x11 | VK_CONTROL |
Alt | 18 | 0x12 | VK_MENU |
CapsLock | 20 | 0x14 | VK_CAPITAL |
Esc | 27 | 0x1B | VK_ESCAPE |
Insert | 45 | 0x2D | VK_INSERT |
PageUp | 33 | 0x21 | VK_PRIOR |
PageDown | 34 | 0x22 | VK_NEXT |
End | 35 | 0x23 | VK_END |
Home | 36 | 0x24 | VK_HOME |
Стрелка | 37 | 0x25 | VK_LEFT |
Стрелка | 38 | 0x26 | VK_UP |
Стрелка | 39 | 0x27 | VK_RIGHT |
Стрелка | 40 | 0x28 | VK_DOWN |
Delete | 46 | 0x2E | VK_DELETE |
PrintScreen | 44 | 0x2C | VK_SNAPSHOT |
ScrollLock | 145 | 0x91 | VK_SCROLL |
0 ) | 48 | 0x30 | - |
1 ! | 49 | 0x31 | - |
2 @ | 50 | 0x32 | - |
3 # | 51 | 0x33 | - |
4 $ | 52 | 0x34 | - |
5 % | 53 | 0x35 | - |
6 ^ | 54 | 0x36 | - |
7 & | 55 | 0x37 | - |
8 * | 56 | 0x38 | - |
9 ( | 57 | 0x39 | - |
` ~ | 192 | 0xC0 | - |
- _ | 189 | 0xBD | - |
= + | 187 | 0xBB | - |
[ { | 219 | 0xDB | - |
] } | 221 | 0xDD | - |
; : | 186 | 0xBA | - |
' " | 222 | 0xDE | - |
\ | | 220 | 0xDC | - |
, < | 188 | 0xBC | - |
. > | 190 | 0xDE | - |
/ ? | 191 | 0xBF | - |
a A | 65 | 0x41 | - |
b B | 66 | 0x42 | - |
c C | 67 | 0x43 | - |
d D | 68 | 0x44 | - |
e E | 69 | 0x45 | - |
f F | 70 | 0x46 | - |
g G | 71 | 0x47 | - |
h H | 72 | 0x48 | - |
i I | 73 | 0x49 | - |
j J | 74 | 0x4A | - |
k K | 75 | 0x4B | - |
l L | 76 | 0x4C | - |
m M | 77 | 0x4D | - |
n N | 78 | 0x4E | - |
o O | 79 | 0x4F | - |
p P | 80 | 0x50 | - |
q Q | 81 | 0x51 | - |
r R | 82 | 0x52 | - |
s S | 83 | 0x53 | - |
t T | 84 | 0x54 | - |
u U | 85 | 0x55 | - |
v V | 86 | 0x56 | - |
w W | 87 | 0x57 | - |
x X | 88 | 0x58 | - |
y Y | 89 | 0x59 | - |
z Z | 90 | 0x5A | - |
Win(Л) | 91 | 0x5B | VK_LWIN |
Win(Пp) | 92 | 0x5C | VK_RWIN |
На дополнительном (правом цифровом) поле клавиатуры, при выключенном индикаторе NumLock
0 | 96 | 0x60 | VK_NUMPAD0 |
1 | 97 | 0x61 | VK_NUMPAD1 |
2 | 98 | 0x62 | VK_NUMPAD2 |
3 | 99 | 0x63 | VK_NUMPAD3 |
4 | 100 | 0x64 | VK_NUMPAD4 |
5 | 101 | 0x65 | VK_NUMPAD5 |
6 | 102 | 0x66 | VK_NUMPAD6 |
7 | 103 | 0x67 | VK_NUMPAD7 |
8 | 104 | 0x68 | VK_NUMPAD8 |
9 | 105 | 0x69 | VK_NUMPAD9 |
* | 106 | 0x6A | VK_MULTIPLY |
+ | 107 | 0x6B | VK_ADD |
- | 108 | 0x6C | VK_SUBTRACT |
. | 109 | 0x6D | VK_DECIMAL |
/ | 110 | 0x6E | VK_DIVIDE |
Параметр Shift является множеством, которое может быть пустым или включать символьные значения, описываемые в табл. 22.3.
Таблица 22.3. Символьные значения Shift
Символьное значение | Назначение |
ssShift | Нажата или отпущена клавиша <Shift> |
ssAIt | Нажата или отпущена клавиша <Alt> |
ssCtrl | Нажата или отпущена клавиша <Ctrl> |