VB 6.0_Klavye tuşları ile ilgili işlemler

NBATMAN

Üye
Katılım
7 Şub 2008
Mesajlar
136
Puanları
1
Merhaba Arkadaşlar bir kitapta bulduğum yararlı bilgiler....

KeyPress (Bir tuşa basma olayı)


Çalışma anında klavyenin yön ve kontrol (Control Alt, Shift vs.) tuşları dışında herhangi bir tuşa basılması halinde KeyPress olayı meydana gelir. KeyPress olayı için Visual Basic tarafından hazırlanan yordama basılan tuşun Ascii kodu parametre olarak gönderilir. Formlar için KeyPress olayının olabilmesi için formda düğme ve metin kutusu gibi nesnelerin olmaması gerekir. Bu olay ve yordam daha çok dışarıdan bilgi girişi yapılan nesneler için kullanıldığı zaman işlevsel olmaktadır. Ancak formlar için yine KeyPress olayı için basit bir örnek verebiliriz. Bu örnek çalışma anında tuşa basılan tuşun Ascii kodunu bulup ekrana yazar:

İmleç metin kutusu üzerinde iken bir tuşa basıldığı anda Keydown’dan sonra tetiklenen olaydır. Bu olayda basılan tuşun Ascii değeri KeyAscii değişkenine atanır. Bu değişkeni kullanarak hangi tuşa basıldığını öğrenebilirsiniz.

Aşağıdaki program, formun çalışması sırasında hangi tuşa basıldığını ekrana yazar. (Bu key olaylarının kullanılabilmesi için, nesnenin keypreview özelliğinin açık olması gerekir.) Aktif nesne tarafından algılanır.

Çalışma anında her tuşa basma işleminden sonra Form_KeyPress yordamı işletilir. Basılan tuşun Ascii kodu Chr ( ) fonksiyonuna parametre olarak verilerek hangi tuşa basıldığı öğrenilebilir.

Örnek:


Private Sub Form_KeyPress(KeyAscii As Integer)ShowPrint Chr(KeyAscii) & " tusuna bastiniz."End Sub



Örnek:

Private Sub Form_KeyPress (KeyAscii As Integer )
Tuşun basılıp bırakılması ile yapılacak olan işlemler
End Sub

KeyDown ve KeyUp Olayları

KeyDown ve KeyUp olayları işlev bakımında KeyPress olayına benzeseler de bazı farklılıklar vardır. KeyDown olayı tuşa basıldığı anda, KeyUp ise tuşun serbest bırakıldığı sırada meydana gelir. KeyPress olayında ise tuşa basma – bırakma ayrımı yoktur. Bu iki olayı temsil eden yordamlar KeyPress olayına ait yordamdan farklı olarak dışarıdan ikinci bir parametreyi daha almaktadır. Basılan tuşun Ascii kodu KeyCode adlı parametreye (değişken) aktarılır.

KeyDown: İmleç metin kutusu üzerinde iken bir tuşa basıldığı anda tetiklenen olaydır. Bu olay herhangi bir tuşa basıldığı anda meydana gelir. Bu olayda iki parametre kullanılır. Bu parametrelerin biri basılan tuşun Ascii değerini, diğeri ise bu tuşla birlikte Shift, Ctrl ve Alt tuşlarından herhangi birine basılıp basılmadığı konusunda bilgi tutar. Aktif nesne tarafından algılanır. KeyUp olayından önce oluşur. Shift adındaki ikinci parametreye ise bu olay meydana geldiği zaman Shift, Ctrl ve alt tuşlarının birinin basılı durumda olup olmadığı konusunda bilgi aktarılır. KeyDown olayı sırasında Shift tuşu basılı durumda ise Shift değişkeni 1,basılı durumda değilse 0 değerini içerir. Bu olay sırasında Ctrl tuşu basılı durumda ise Shift parametresi 2 değerini alır ve Alt tuşu basılı durumda ise 4 değerini alır.
Aşağıdaki örnekte kullanıcı Ctrl tuşu ile birlikte A tuşuna basarsa kullanıcıya mesaj verecektir.
Örnek:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = 65 And Shift = 2 ThenMsgBox "Ctrl+A tus kombinasyonunu kullandiniz."End IfEnd Sub
Bu çalıştırıldığı anda herhangi bir tuşa basılması durumunda KeyDown olayı meydana gelir ve form_Keydown yordamı işletilir. Bu sırada Shift tuşu basılı durumda ve basılan tuş Enter ise ekrana MsgBox( ) ile mesaj verilir.
KeyUp olayı KeyDown farklı olarak tuşa basıldığı sırada değil, tuşun serbest bırakıldığı yani kullanıcının elini tuşun üstünden kaldırdığı zaman meydana gelir. Bunun dışında KeyUp olayı KeyDown’dan farklı değildir. KeyDown olayının KeyPress olayı karşısında önceliği var.

Örnek:

Private Sub Form_KeyDown (KeyCode As Integer, Shift As Integer)
Tuşa basılması ile yapılacak olan işlemler
End Sub

KeyUp: İmleç metin kutusu üzerinde iken bir tuşa basılıp bırakıldığı anda tetiklenen olaydır. Bu olay ise kullanıcının bastığı tuşu bırakması sırasında meydana gelir. Yukarıdaki tabloda Shift parametresi için gösterilen değerler bu olaydada geçerlidir. Basılı olan bir tuşun bırakılmasıdır. Basılı olan tuşun bırakılması olayıdır. Aktif nesne tarafından algılanır. KeyDown olayından sonra oluşur.

Örnek:

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
 

Forum istatistikleri

Konular
128,126
Mesajlar
915,241
Kullanıcılar
449,839
Son üye
Qkay

Yeni konular

Çevrimiçi üyeler

Geri
Üst