魔导 发表于 2012-5-8 18:39:52

如何限制 输入框的 值 的范围?[已解决]

本帖最后由 魔导 于 2012-5-9 22:57 编辑

再次感谢各位前辈,   正解在   2楼和A大   还有   小龙 的说
不使用 IF 之类的 语句 主动限制输入框的值的范围
就像用这个的限制把值的范围限制
$input = GUICtrlCreateInput("",65,2,80,15,0x2000)
小弟找了一圈没找到,请各位大大指点指点。。。万分感谢!

happytc 发表于 2012-5-8 18:53:08

早上也就你提问的吧
下面的不合你胄口?
并且啥叫“主动限制”?

http://www.autoitx.com/thread-32087-1-1.html

zldfsz 发表于 2012-5-8 18:57:45

楼上辛辛苦苦给你写了,你居然不看,唉。。。

afan 发表于 2012-5-8 18:58:10

http://www.autoitx.com/forum.php?mod=viewthread&tid=11760

lixiaolong 发表于 2012-5-9 14:01:13

回复 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:46:26

本帖最后由 魔导 于 2012-5-9 22:56 编辑

回复 2# happytc


    就是这个东西啦   谢谢前辈!
“主动限制”是自己瞎想出来的   意思就是一楼那个码一类的 实现它只能是数字    其他的输入不了
因为原先用的是在用户输入后读取再判断 再提示

魔导 发表于 2012-5-9 22:46:52

回复 3# zldfsz


    今天来晚了 - -!

魔导 发表于 2012-5-9 22:49:10

{:face (113):}回复 4# afan


   谢谢 A大    不过看到P侠 就先收起来了   等明天看(我一会儿的时间大概看不出个什么来)

魔导 发表于 2012-5-9 22:52:08

回复 6# lixiaolong


    谢谢小龙   小弟也一直没找到   所以一直在用   判断
不过   A大那里有   P侠的练习。。。

魔导 发表于 2012-5-9 22:53:04

回复 5# 处男


谢谢关注
    误会误会,不是选择的。是限制输入的值和类型

haijie1223 发表于 2012-5-9 23:16:16

#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

魔导 发表于 2012-5-9 23:17:11

真是荣幸的一贴竟然引来了那么多的大大{:face (301):}

魔导 发表于 2012-5-16 12:06:16

回复 12# haijie1223


    谢发哥{:1_537:}
页: [1]
查看完整版本: 如何限制 输入框的 值 的范围?[已解决]