【原】键盘过滤函数
'因为程序经常用到键盘过滤功能,所以自己编写了一个键盘过滤函数与大家分享。
'窗体
Private Sub Text1_KeyPress(KeyAscii As Integer)
'0-9、Ctrl+C、Ctrl+V、Ctrl+X
CheckKeyAscii KeyAscii, KeyChar.keyDigit & _
Chr$(KeyChar.keyCtrlC) & _
Chr$(KeyChar.keyCtrlV) & _
Chr$(KeyChar.keyCtrlX)
End Sub
'模块
Public Enum KeyChar
keyAdd = 107 '+ 加号;正号
keySubtract = 109 '- 减号;负号
keyMultiply = 106 '× 乘号
keyDivide = 111 '÷ 除号
keyEqual = 61 '= 等于号
keyLessThan = 60 '< 小于号
keyMoreThan = 62 '> 大于号
keyPercent = 37 '% 百分之…
keyOpenBrace = 123 '{ 左花括号
keyCloseBrace = 125 '} 右花括号
keyOpenParen = 40 '( 左圆括号
keyCloseParen = 41 ') 右圆括号
keyOpenBracket = 91 '[ 左方括号
keyCloseBracket = 93 '] 右方括号
keyDot = 46 '. 句号,点
keyVerticalBar = 124 '| 竖线
keyReference = 38 '& 引用
keyPound = 35 '# 井号
keyBackslash = 92 '\ 反斜线转义符
keyTilde = 126 '~ 波浪符
keyComma = 44 ', 逗号
keyColon = 58 ': 冒号
keySemicolon = 59 '; 分号
keyQuestion = 63 '? 问号
keyExclamationMark = 33 '! 叹号
keySingleQuotes = 39 '' 单引号
keyDoubleQuotes = 34 '" 双引号
keyCtrlC = 3 'Ctrl+C
keyCtrlV = 22 'Ctrl+V
keyCtrlX = 24 'Ctrl+X
keyCtrlA = 1 'Ctrl+A
keyBackspace = 8 '退格
keySpace = 32 '空格
keyReturn = 13 '回车
keyDigit = "1234567890"
End Enum
Public Sub CheckKeyAscii(ByRef ParKeyAscii As Integer, ByVal ParQualifyString As String)
If InStr(ParQualifyString, Chr(ParKeyAscii)) <= 0 Then
ParKeyAscii = 0
End If
End Sub