AllBasic
Klavye Olayları
Klavye OlaylarıTuş basımının aktif olmasa dahi form tarafından algılanması isteniyorsa formun KeyPreview özelliği True olmalıdır.
Sabit Açıklama
vbCrLf CHR$(13)+(CHR$(10)
VbNullChar Boşluk
VbLf Yeni Satır Başına Geçiş CHR$(10)
VbBack BackSpace CHR$(8)
VbCr Satır Başı Chr$(13)
Key Down
Tuşa basılması olayı. Aktif nesne tarafından algılanır. KeyUp olayından önce oluşur.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
' Tuşa basılması ile yapılacak olan işlemler
End Sub
Key Press
Tuşa basılması ve bırakılması olayı. Aktif nesne tarafından algılanır.
Private Sub Form_KeyPress(KeyAscii As Integer)
' Tuşun basılıp bırakılması ile yapılacak olan işlemler
End Sub
Key Up
Basılı olan tuşun bırakılması olayı. Aktif nesne tarafından algılanır. KeyDown olayından sonra oluşur.
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
' Basılı olan tuşun bırakılması ile yapılacak olan işlemler
End Sub
Shift Tuş Kombinasyonu
0 Basılı Tuş Yok (Ctrl,Alt,Shift)
1 Shift
2 Ctrl
3 Shift + Ctrl
4 Alt
5 Shift + Alt
6 Ctrl + Alt
7 Shift + Ctrl + Alt
Basılan Tuşun Kodunu Bulmak
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox "Basılan Tuşun Kodu :" & KeyCode
End Sub
Basılan Tuşun Ascii Değerini Bulmak
Private Sub Form_KeyPress(KeyAscii As Integer)
MsgBox "Basılan Tuşun Ascii Değeri :" & KeyAscii
End Sub
Sadece Buyuk Harf Kullanmak
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0
End If
KeyAscii = Asc(UCase(Chr(KeyAscii))) ' UCase ile büyük harfe çevriliyor
Print Chr(KeyAscii)
End Sub
Esc Tuşu İle Çıkış
Çıkış_Butonu.Cancel = True
Private Sub Çıkış_butonu_Click()
End
End Sub
Numluock ve CapsLock 'u açıp Kapatma
(General)(Declaration)
Const VK_CAPITAL = &H14 ' CapsLock
Const VK_NUMLOCK = &H90 ' NumLock
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Private Declare Function GetKeyboardState Lib "user32" _
(kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" _
(kbArray As KeyboardBytes) As Long
Dim Tuş_Kodu As String
Dim kbArray As KeyboardBytes
Private Sub Command1_Click()
' Tuş_Kodu = VK_NumLock
Tuş_Kodu = VK_CAPITAL
GetKeyboardState kbArray
kbArray.kbByte(Tuş_Kodu) = 0 ' Kapat
SetKeyboardState kbArray
End Sub
Private Sub Command2_Click()
kbArray.kbByte(Tuş_Kodu) = 1 ' Aç
SetKeyboardState kbArray
End Sub
Sisteme Tuş Basımı Yollamak
(General)(Declaration)
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const VK_CONTROL = &H11
Const KEYEVENTF_KEYUP = &H2
Const VK_ESCAPE = &H1B
Private Sub Form_Click()
Call keybd_event(VK_CONTROL, 0, 0, 0) ' CTRL
Call keybd_event(VK_ESCAPE, 0, 0, 0) ' ESC
Call keybd_event(VK_ESCAPE, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0)
End Sub
Fonksiyon Tuşlarına Görev Atamak
(General)(Declaration)
Option Explicit
Const KEY_F1 = &H70
Const KEY_F2 = &H71
Const KEY_ESCAPE = &H1B
Form1.KeyPreview = True ' Formun KeyPreview özelliği True
Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case KEY_F1 ' F1 - Tarih
Text1.Text = Date$
Case KEY_F2 ' F2 - Saat
Text1.Text = Time$
Case KEY_ESCAPE ' ESC - Çıkış
Unload Me
End Select
End Sub
Send Keys Tuş Basımı Göndermek
Tuş Kodu Tuş Kodu
Enter {ENTER} veya ~ Yukarı Ok {UP}
Esc {ESC} Aşağı Ok {DOWN}
Tab {TAB} Sola Ok {LEFT}
Caps Lock {CAPSLOCK} Sağa Ok {RIGHT}
Back Space {BACKSPACE} Help {HELP}
Del - Delete {DELETE} {DEL} Scroll Lock {SCROLLLOCK}
End {END} Print Screen {PRTSC}
Page Down {PGDN} Break {BREAK}
Page Up {PGUP} F1 - F2 {F1} - {F12}
Home {HOME} Shift +
Ins - Insert {INSERT} {INS} Control ^
Num Lock {NUMLOCK} Alt %
Private Sub Command1_Click()
SendKeys "%{F4}", True ' Alt + F4 Programı kapar
End Sub