Dari postingan sebelumnya by broklyn, setelah dicoba ternyata ada langkah yang lebih sederhana lagi, kita tetap menggunakan event keydown, tapi kali ini yang keydown even pada form, Bukan even keydown pada kontrol lainnya misalnya textbox, combobox atau lainnya.
Yang jadi permasalahan yakni jika kita menggunakan event keydown pada control lainnya selain form, tentu kita harus menunggu dulu control tersebut mendapatkan focus baru event keydown bisa dieksekusi, jika permasalahan seperti diatas akan timbul masalah yang lebih banyak lagi yakni kita harus membuat code sebanyak control yang ada, wah sungguh repot ya?
Jika menggunakan event keydown pada form, apa kita harus menunggu form untuk mendapatkan focus juga? Untuk masalah ini ada solusinya yakni kita set property KeyPreview menjadi True bisa diset langsung ataupun saat runtime ( event Form_Load ). Seperti pada kode dibawah ini
Private Sub Form_Load()
DoEvents
Me.Top = 0
Me.Left = 2999
Me.KeyPreview = True
End Sub
Dan pada form juga manfaatkan event keydown dan tuliskan code seperti dibawah ini
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 113 Then
CmdNew_Click
ElseIf KeyCode = 114 Then
CmdAdd_Click
ElseIf KeyCode = 116 Then
CmdOk_Click
ElseIf KeyCode = 121 Then
CmdHitung_Click
End If
End Sub
Untuk daftar nilai integer tombol fungsi ( F1 s/d F12 ) antara lain :
'112 = F1
'113 = F2
'114 = F3
'115 = F4
'116 = F5
'117 = F6
'118 = F7
'119 = F8
'120 = F9
'121 = F10
'122 = F11
'123 = F12
Selamat mencoba, buat broklyn terima kasih atas idenya kemarin. Make a good code bro.