กระทู้เก่าบอร์ด อ.Yeadram
978 2
URL.หัวข้อ /
URL
กำหนดคุณสมบัติ textbox
ต้องการกำหนดให้ text box มีสถานะ caps Lock = on และมีเลเบลบอกว่า caps Lock = on และ แป้นพิมพ์สถานะ ภาษา Eng ต้องใช้คำสั่งอย่างไรครับ
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R24032
ปล. การ set cap lock จาก Win API จะไม่สัมพันธ์กับไฟสถานะของ cap lock บนคีย์บอร์ด เพราะฉะนั้นอาจจะทำให้ผู้ใช้สับสนได้
Time: 0.3847s
Label1 = ข้อความที่แสดงกว่า Cap lock On
1. ตั้งค่า Property ของ Text1 ตรง Keyboard Language ให้เป็น English
2. ใส่ code vba ตามนี้
Option Compare Database
Private Declare Sub GetKeyboardState Lib "User32" (lpKeyState As Any)
Const VK_CAPITAL = &H14
Private Declare Function SetKeyboardState Lib "User32" (kbArray As Byte) As Long
'Number Lock is &H90
'Caps Lock is &H14
Private Sub ToggleKeys()
Dim KeyState(256) As Byte
KeyState(&H14) = 1 'for on
'KeyState(&H14) = 0 'for off
SetKeyboardState KeyState(0)
End Sub
Private Function CapsOn()
ReDim KeyboardBuffer(256) As Byte
'Array to check capslock
GetKeyboardState KeyboardBuffer(0)
If KeyboardBuffer(VK_CAPITAL) And 1 Then
'CapsLock on ...
CapsOn = True
Else
CapsOn = False
End If
End Function
Private Sub Text1_GotFocus()
ToggleKeys
If CapsOn Then
Me.Label1.Visible = True
Else
Me.Label1.Visible = False
End If
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Select Case KeyCode
Case vbKeyCapital
If CapsOn Then
Me.Label1.Visible = True
Else
Me.Label1.Visible = False
End If
End Select
End Sub