Klavye Olayları
Tuş basımının aktif olmasa dahi form tarafından algılanması isteniyorsa formun KeyPreview özelliği True olmalıdır.
KeyDown
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
KeyPress
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
KeyUp
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
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 Büyük 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 ile Çıkış
Çıkış_Butonu.Cancel = True
Private Sub Çıkış_butonu_Click()
End
End Sub
NumLock ve CapsLock’u Açıp Kapatmak
(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
Tuş basımının aktif olmasa dahi form tarafından algılanması isteniyorsa formun KeyPreview özelliği True olmalıdır.
KeyDown
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
KeyPress
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
KeyUp
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
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 Büyük 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 ile Çıkış
Çıkış_Butonu.Cancel = True
Private Sub Çıkış_butonu_Click()
End
End Sub
NumLock ve CapsLock’u Açıp Kapatmak
(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
