บทความตอนนี้ผมจะขอนำเสนอ โปรแกรมขนาดเล็กๆ กระทัดรัด เพื่อทดสอบว่าบนแป้น Keyboard แต่ละตัวนั้น จะมีรหัส Key Code มีค่าเป็นเท่าใดกันบ้างน่ะครับ แล้วให้ท่านลองไปทดสอบเปรียบเทียบกับการเกิดเหตุการณ์ในลักษณะของ KeyPress ดูว่ามีผลอย่างไรกับการใช้ KeyDown
เริ่มต้นจากการสร้าง Project ใหม่เป็น Standard --> Exe โดยนำเอา Control หรือ Object พื้นฐาน 4 ตัว คือ Text Box (ชื่อ Text1), Label (ชื่อ Label1), Command Button อีก 2 ตัว (ชื่อ Command1 กับ Command2) นำมาวางไว้บนฟอร์มดังรูป
จากนั้นให้กำหนดโค้ดเข้าไปในโปรแกรม ตาม Control ในแต่ละตัว
Option Explicit
Private Sub Command1_Click() ' เปลี่ยนคุณสมบัติ Caption เป็น E&xit
Unload Me
End Sub
Private Sub Command2_Click() ' เปลี่ยนคุณสมบัติ Caption เป็น C&lear Text1.Text = "" Label1.Caption = "<--- กดแป้นคีย์บอร์ดเพื่อดู Key code" Text1.SetFocus End Sub
Private Sub Form_Load() Text1.SetFocus End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) ' เมื่อ Text1 เกิดเหตุการณ์กดแป้นคีย์บอร์ด ด้วย KeyDown จะแสดงรหัส KeyCode ออกมา (ถ้าหากเราใช้ KeyAscii จะตรวจไม่พบการกดแป้นพิเศษ เช่น Alt หรือ Shift ให้ท่านลองทดสอบที่ Sub Program ของ Text1 ดูเอาเองน่ะครับ - Text1_KeyPress)
Label1.Caption = "KeyCode: " & KeyCode Text1.Text = "" End Sub
|