Witam w moim kolejnym artykule! Nie dawno bawiłem się wraz z Sundayem w zrobienie prostej gierki w C++ Builderze. Trzeba było użyć strzałek do sterowania postacią, ale pojawił się problem: jakie kody klawiszy mają strzałki?! Witam w moim kolejnym artykule! Nie dawno bawiłem się wraz z Sundayem w zrobienie prostej gierki w C++ Builderze. Trzeba było użyć strzałek do sterowania postacią, ale pojawił się problem: jakie kody klawiszy mają strzałki?! Niestety nie mieliśmy takiej tablicy pod ręką, ale na szczęście Sunday wpadł na pomysł: Można odczytać kody w bardzo prosty sposób... . i po chwili mieliśmy taki kod (a dokładnie jego istotny kawałek):
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
Label1->Caption=Key;
}
Może słowo wyjaśnienia. Aby wywołać taki typ procedury należy kliknąć na formatkę i w okienku Object Inspector przejść na zakładkę Events, pojawi się nam dwu kolumnowa tabelka w lewej kolumnie szukamy OnKeyDown i w tym samym wierszu ale w drugiej kolumnie dwukrotnie klikamy. Jeżeli mamy już na formularzu Label1 możemy przepisać treść procedury. Jednak nie każdy może zrobić coś takiego. Jeżeli pracujemy w innym kompilatorze albo w innym języku to może się nie udać. Przygotowałem więc tabelę z kodami znaków.
| Klawisz | Kod | | Klawisze alfanumeryczne | | Q | 81 | | W | 87 | | E | 69 | | R | 82 | | T | 84 | | Y | 89 | | U | 85 | | I | 73 | | O | 79 | | P | 80 | | A | 65 | | S | 83 | | D | 68 | | F | 70 | | G | 71 | | H | 72 | | J | 74 | | K | 75 | | L | 76 | | Z | 90 | | X | 88 | | C | 67 | | V | 86 | | B | 66 | | N | 78 | | M | 77 | | 1 | 49 | | 2 | 50 | | 3 | 51 | | 4 | 52 | | 5 | 53 | | 6 | 54 | | 7 | 55 | | 8 | 56 | | 9 | 57 | | 0 | 48 | | Procek | | Klawisz | Kod | | Znaki specjalne | | ~ (tylda) | 192 | | - | 189 | | = | 187 | | \ | 220 | | [ | 219 | | ] | 221 | | ; | 186 | | ' | 222 | | , | 188 | | . | 190 | | / | 191 | | Klawisze kursora | | strzałka w lewo | 37 | | strzałka w prawo | 39 | | strzałka w górę | 38 | | strzałka w dół | 40 | | Insert | 45 | | Delete | 46 | | Home | 36 | | End | 35 | | Page Up | 33 | | Page Down | 34 | | Klawisze Fx | | F1 | 112 | | F2 | 113 | | F3 | 114 | | F4 | 115 | | F5 | 116 | | F6 | 117 | | F7 | 118 | | F8 | 119 | | F9 | 120 | | F10 | 121 | | F11 | 122 | | F12 | 123 | | Klawisz | Kod | | Klawiatura numeryczna | | Num Lock | 144 | | / | 111 | | * | 106 | | - | 109 | | + | 107 | | Enter | 13 | | . | 46 | | 0 | 45 | | 1 | 35 | | 2 | 40 | | 3 | 34 | | 4 | 53 | | 5 | 12 | | 6 | 39 | | 7 | 36 | | 8 | 38 | | 9 | 33 | | . + Num | 110 | | 0 + Num | 96 | | 1 + Num | 97 | | 2 + Num | 98 | | 3 + Num | 99 | | 4 + Num | 100 | | 5 + Num | 101 | | 6 + Num | 102 | | 7 + Num | 103 | | 8 + Num | 104 | | 9 + Num | 105 | | Klawisz | Kod | | Klawisze Funkcyjne | | Escape | 27 | | Tab | ??? | | Caps Lock | 20 | | Lewy Shift | 16 | | Lewy Ctrl | 17 | | Lewy Win | 91 | | Lewy Alt | 18 | | Spacja | 32 | | Prawy Alt | 18 | | Prawy Win | 92 | | Aplikacja | 93 | | Prawy Ctrl | 17 | | Prawy Shift | 16 | | Enter | 13 | | Backspace | 8 | | Print Screen | ??? | | Scroll Lock | 145 | | Pause | 19 |
Procek
|