【原】键盘过滤函数

itfamily 2007-09-11 07:35:38
'因为程序经常用到键盘过滤功能,所以自己编写了一个键盘过滤函数与大家分享。


'窗体
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


...全文
111 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
gs0038 2007-09-11
  • 打赏
  • 举报
回复
太受用了,。这个你怎么懂的,,告诉我一下!
谢谢,谢谢!

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧