如何限制 输入框的 值 的范围?[已解决]
本帖最后由 魔导 于 2012-5-9 22:57 编辑再次感谢各位前辈, 正解在 2楼和A大 还有 小龙 的说
不使用 IF 之类的 语句 主动限制输入框的值的范围
就像用这个的限制把值的范围限制
$input = GUICtrlCreateInput("",65,2,80,15,0x2000)
小弟找了一圈没找到,请各位大大指点指点。。。万分感谢! 早上也就你提问的吧
下面的不合你胄口?
并且啥叫“主动限制”?
http://www.autoitx.com/thread-32087-1-1.html 楼上辛辛苦苦给你写了,你居然不看,唉。。。 http://www.autoitx.com/forum.php?mod=viewthread&tid=11760 回复 1# 魔导
好像没有吧,还得判断.
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
$Form1 = GUICreate("只能输入1-50", 341, 208, 192, 124)
$Input1 = GUICtrlCreateInput("", 72, 40, 153, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 2)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$read = GUICtrlRead($Input1)
If Not StringRegExp($read, '^?(?:(?<=)\d|(?<=5)0)?$', 0) Then
GUICtrlSetData($Input1, StringTrimRight($read, 1))
EndIf
WEnd
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
$Form1 = GUICreate("只能输入1-50", 341, 208, 192, 124)
$Input1 = GUICtrlCreateInput("", 72, 40, 153, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 2)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$read = GUICtrlRead($Input1)
Switch $read
Case 1 To 50
Case Else
GUICtrlSetData($Input1, StringTrimRight($read, 1))
EndSwitch
WEnd
本帖最后由 魔导 于 2012-5-9 22:56 编辑
回复 2# happytc
就是这个东西啦 谢谢前辈!
“主动限制”是自己瞎想出来的 意思就是一楼那个码一类的 实现它只能是数字 其他的输入不了
因为原先用的是在用户输入后读取再判断 再提示 回复 3# zldfsz
今天来晚了 - -! {:face (113):}回复 4# afan
谢谢 A大 不过看到P侠 就先收起来了 等明天看(我一会儿的时间大概看不出个什么来) 回复 6# lixiaolong
谢谢小龙 小弟也一直没找到 所以一直在用 判断
不过 A大那里有 P侠的练习。。。 回复 5# 处男
谢谢关注
误会误会,不是选择的。是限制输入的值和类型 #include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$form = GUICreate("", 200, 50, -1, -1)
$input = GUICtrlCreateInput("", 50, 10, 80, 15, 0x2000)
GUISetState()
GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func MY_WM_COMMAND($hWnd, $Msg, $wParam, $ilParam)
Select
Case $input
Switch $ilParam
Case GUICtrlGetHandle($input)
$r1 = GUICtrlRead($input)
If $r1 > 100 Then
MsgBox(0, "提醒", "超出范围")
EndIf
EndSwitch
EndSelect
;~ Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_COMMAND
真是荣幸的一贴竟然引来了那么多的大大{:face (301):} 回复 12# haijie1223
谢发哥{:1_537:}
页:
[1]