主题:又有新问题...
草莓的味道
[专家分:0] 发布于 2008-03-21 17:47:00
我想对文本框设置只能输入数字,就写了下面这段代码:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" Then
KeyAscii = 0
End If
End Sub
可完了发现如果写错了连退格键都不能用了,小数点什么的都不能用,请问如果我只想限制不能输入字母而键盘其他的键还可以用的话应该怎么写这段代码?[em10]
回复列表 (共13个回复)
11 楼
tanchuhan [专家分:15140] 发布于 2008-03-26 21:23:00
吐血,复制到你的工程里面,直接用就是了。与你的控件名称无关
12 楼
老大徒伤悲 [专家分:29120] 发布于 2008-03-28 09:34:00
我记得似乎有一个函数,好像叫做is什么的可以判断一个字符是不是字母。
13 楼
bcahzvip [专家分:6040] 发布于 2008-03-29 23:25:00
9楼的答案都已经没得说了
Option Explicit
Private Const GWL_STYLE = (-16)
Private Const ES_NUMBER = &H2000
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Sub Form_Load()
Dim ls&
ls = GetWindowLong(Text1.hwnd, GWL_STYLE)
Call SetWindowLong(Text1.hwnd, GWL_STYLE, ls Or ES_NUMBER)
End Sub
'看得懂了吧
我来回复