Sebelum mempraktekan tutorial penggunaan OnKeyDown, OnKeyPress dan OnKeyup pada delphi, saya akan bahas sedikit tentang pengertian event tersebut. Tutorial ini biasa juga disebut dengan Virtual Key Codes yand digunakan untuk memberikan representasi pengekanan tombol pengguna, virtual code memungkinkan anda untuk mewakili nilai-nilai keyboard untuk non-alfanumerik kunci.
OnKeydown adalah event yang terjadi ketika suatu kunci keyboard yang sendang ditekan ke bawah.
OnKeyPress adalah event yang terjadi ketika suatu kunci keyboar yang sedang ditekan dan menahanya sesaat atau sebelum tombol tersebut dilepas kembali keatas.
OnKeyUp adalah event yang terjadi ketika suatu kunci keyboard dilepaskan atau saat sesudah onKeyprees.
Pada tabel dibawah ini adalah daftar Virtuak Key Menggunakan Hexadecimal.
Simbol | Nilai (heksa desimal) | Keyboard dan mouse |
VK_LBUTTON | 01 | Klik kiri mouse |
VK_RBUTTON | 02 | Klik kanan mouse |
VK_CANCEL | 03 | Control-break processing |
VK_MBUTTON | 04 | Klik tengah mouse (three-button mouse) |
VK_BACK | 08 | BACKSPACE |
VK_TAB | 09 | TAB |
VK_CLEAR | 0C | CLEAR |
VK_RETURN | 0D | ENTER |
VK_SHIFT | 10 | SHIFT |
VK_MENU | 12 | ALT |
VK_PAUSE | 13 | PAUSE |
VK_CAPITAL | 14 | CAPS LOCK |
VK_ESCAPE | 1B | ESC |
VK_SPACE | 20 | SPACEBAR |
VK_PRIOR | 21 | PAGE UP |
VK_NEXT | 22 | PAGE DOWN |
VK_END | 23 | END |
VK_HOME | 24 | HOME |
VK_LEFT | 25 | LEFT ARROW |
VK_UP | 26 | UP ARROW |
VK_RIGHT | 27 | RIGHT ARROW |
VK_DOWN | 28 | DOWN ARROW |
VK_SELECT | 29 | SELECT |
VK_PRINT | 2A | PRINT |
VK_EXECUTE | 2B | EXECUTE |
VK_SNAPSHOT | 2C | PRINT SCREEN |
VK_INSERT | 2D | INS |
VK_DELETE | 2E | DEL |
VK_HELP | 2F | HELP |
30 � 39 | 0 - 9 keyboard | |
41 � 5A | A - Z keyboard | |
VK_NUMPAD0 | 60 | Numeric pad 0 |
VK_NUMPAD1 | 61 | Numeric pad 1 |
VK_NUMPAD2 | 62 | Numeric pad 2 |
VK_NUMPAD3 | 63 | Numeric pad 3 |
VK_NUMPAD4 | 64 | Numeric pad 4 |
VK_NUMPAD5 | 65 | Numeric pad 5 |
VK_NUMPAD6 | 66 | Numeric pad 6 |
VK_NUMPAD7 | 67 | Numeric pad 7 |
VK_NUMPAD8 | 68 | Numeric pad 8 |
VK_NUMPAD9 | 69 | Numeric pad 9 |
VK_SEPARATOR | 6C | Separator |
VK_SUBTRACT | 6D | Subtract |
VK_DECIMAL | 6E | Decimal |
VK_DIVIDE | 6F | Divide |
VK_F1 | 70 | F1 |
VK_F2 | 71 | F2 |
VK_F3 | 72 | F3 |
VK_F4 | 73 | F4 |
VK_F5 | 74 | F5 |
VK_F6 | 75 | F6 |
VK_F7 | 76 | F7 |
VK_F8 | 77 | F8 |
VK_F9 | 78 | F9 |
VK_F10 | 79 | F10 |
VK_F11 | 7A | F11 |
VK_F12 | 7B | F12 |
VK_F13 | 7C | F13 |
VK_F14 | 7D | F14 |
VK_F15 | 7E | F15 |
VK_F16 | 7F | F16 |
VK_F17 | 80H | F17 |
VK_F18 | 81H | F18 |
VK_F19 | 82H | F19 |
VK_F20 | 83H | F20 |
VK_F21 | 84H | F21 |
VK_F22 | 85H | F22 |
VK_F23 | 86H | F23 |
VK_F24 | 87H | F24 |
VK_NUMLOCK | 90 | NUM LOCK |
VK_SCROLL | 91 | SCROLL LOCK |
VK_LSHIFT | A0 | Left SHIFT |
VK_RSHIFT | A1 | Right SHIFT |
VK_LCONTROL | A2 | Left CONTROL |
VK_RCONTROL | A3 | Right CONTROL |
VK_LMENU | A4 | Left MENU |
VK_RMENU | A5 | Right MENU |
VK_PLAY | FA | Play |
VK_ZOOM | FB | Zoom |
Berikut saya contohkan untuk penggunaanya secara sederhana, hanya untuk pembelajaran saja bagi yang sudah master mungkin turorial ini tidak lah berguna, tetapi bagi yang baru berlajar nanti bisa dikembangkan lagi untuk tingkat yang lebih bagus lagi.
1. Buat form seperti dibawah ini.
2. Ketikan script pada Form1 Event OnKeyDown, OnKeyPress, OnKeyUp
- Event OnKeyDown
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_F11 then
Form1.WindowState :=WsMaximized else
if key = VK_ESCAPE then
Application.Terminate;
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = char('2')then
Panel2.Color := ClRed
else
if key = Char('1') then
Panel1.Color := ClBlue
else
if Key = char('3') then
Panel3.Color := ClBlack else
if Key = char('4') then
Panel4.Color := ClGreen else
if key = char('5') then
Panel5.Color := ClAqua else
if Key = char('6') then
Panel6.Color := clPurple;
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key = VK_F1 then
Form1.Color := clRed else
if Key = VK_F2 then
Form1.Color := clBlue else
if Key = VK_F3 then
Form1.Color := Clyellow;
end;
Download Source Code
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :