README.md
December 4, 2022 · View on GitHub
Description
More Info
KeyAscii from controls keypress-event
cAllowed as a string ("N" for numbers only...)
Put the call in a controls keypress-event
Ex: KeyAscii=CheckKeypress(KeyAscii, "N")
Will only allow the user to enter digits in a control
KeyAscii for pressed key if ok or nothing and a beep for not ok
| Submitted On | |
| By | Martin Idman |
| Level | Unknown |
| User Rating | 3.5 (14 globes from 4 users) |
| Compatibility | VB 4.0 (32-bit), VB 5.0, VB 6.0 |
| Category | VB function enhancement |
| World | Visual Basic |
| Archive File |
Source Code
Public Function CheckKeyPress(iKeyIn As Integer, cAllowed As String) As Integer
Dim cValidKeys As String
Select Case cAllowed
Case "N" ' Just numbers
cValidKeys = "1234567890" & vbCr & vbTab & vbBack
Case "N1" ' Decimal numbers
cValidKeys = "1234567890," & vbCr & vbTab & vbBack
Case "N2" ' Simple math
cValidKeys = "1234567890+-*/=," & vbCr & vbTab & vbBack
Case "C" ' Simple characterset(I'm Swedish, hence some strange ones)
cValidKeys = "ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖAAÉEÜI- " & vbCr & vbTab & vbBack
Case "C1" ' Enhanced characterset
cValidKeys = "ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖAAÉEÜI&#,.-/\+-*%$<>:;@!?=() " & vbCr & vbTab & vbBack
Case "C2" ' Enhanced + digits
cValidKeys = "ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖAAÉEÜI1234567890½&#,.-/\+-*%$<>:;@!?=() " & vbCr & vbTab & vbBack
Case "M" ' Mail and WWW
cValidKeys = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_/\~:@." & vbCr & vbTab & vbBack
Case "D" ' Date or telephonenumbers
cValidKeys = "0123456789-" & vbCr & vbTab & vbBack
End Select
If InStr(cValidKeys, UCase(Chr(iKeyIn))) Then
CheckKeyPress = iKeyIn
Else
Beep
CheckKeyPress = 0
End If
End Function