cashiba 发表于 2017-4-16 23:31:58

回复cashiba
不就是這個的 變化應用而已??
kk_lee69 发表于 2017-4-16 22:05 http://www.autoitx.com/images/common/back.gif
嗯,用到了消息函数,去学习学习...
{:face (332):}

绿色风 发表于 2017-4-16 23:50:46

回复 14# cashiba


    这样就行的了



#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiEdit.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 437, 192, 124)
$Input1 = GUICtrlCreateInput("", 64, 32, 201, 21)
$Input2 = GUICtrlCreateInput("", 64, 80, 201, 21)
$Input3 = GUICtrlCreateInput("", 64, 128, 201, 21)
$Input4 = GUICtrlCreateInput("", 64, 176, 201, 21)
$Inputx = GUICtrlCreateEdit("", 64, 240, 500, 89, $ws_border)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        Local $aaa = GUICtrlRead($Inputx)
        Local $bbb = GUICtrlRead($Input1) & "/" & GUICtrlRead($Input2) & "/" & GUICtrlRead($Input3) & "/" & GUICtrlRead($Input4)
        If $aaa <> $bbb Then
                If _GUICtrlEdit_GetModify($Inputx) = True Then
                        Local $arr = StringSplit($aaa, "/")
                        If $arr = 4 Then
                                GUICtrlSetData($Input1, $arr)
                                GUICtrlSetData($Input2, $arr)
                                GUICtrlSetData($Input3, $arr)
                                GUICtrlSetData($Input4, $arr)
                        EndIf
                Else
                        GUICtrlSetData($Inputx, GUICtrlRead($Input1) & "/" & GUICtrlRead($Input2) & "/" & GUICtrlRead($Input3) & "/" & GUICtrlRead($Input4))
                EndIf
        EndIf
       

        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
WEnd

kk_lee69 发表于 2017-4-16 23:55:44

回复 1# cashiba



這樣的效果嗎??

cashiba 发表于 2017-4-17 00:38:40

回复cashiba
这样就行的了
绿色风 发表于 2017-4-16 23:50 http://www.autoitx.com/images/common/back.gif
还是风侠厉害,就是这个效果.....
{:face (88):}

cashiba 发表于 2017-4-17 00:39:07

回复cashiba
這樣的效果嗎??
kk_lee69 发表于 2017-4-16 23:55 http://www.autoitx.com/images/common/back.gif
这个也还是单向变化

chzj589 发表于 2017-4-18 10:26:18

回复 20# cashiba

还是有点问题
把编辑框里的“/”删除掉,再删除编辑框里的其它数据,输入框就不起作用了

cashiba 发表于 2017-4-18 17:42:57

嗯,经过后面的测试,是有些不完美。看样子还是要用注册消息最好

cashiba 发表于 2017-4-18 17:44:34

算是半解决吧,也不能再改成未解决状态了,以后再慢慢研究....
{:face (396):}

chishingchan 发表于 2017-4-20 09:52:59

回复 15# cashiba


我一般也是使用 #13 的方法,定义一个变量等于起始值,起始值变化则变化。多个输入框检测同样道理,只是语句多一点而已。

kk_lee69 发表于 2017-4-20 10:19:38

回复 23# cashiba

這是簡單的檢查核對問題而已.......不是要求 問個問題人家要寫到 完全一模一樣才算問題解決吧.............

依據 上面 你說的 半解決的程式碼.........稍微改一下 不就好了......

我只能說人家回答問題.....只能解決你無法解決的關鍵..... 其他 基礎的花心思 就可以做的事情,不應該是回答妳問題的人要解決的

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiEdit.au3>
#include <Array.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 437, 192, 124)
$Input1 = GUICtrlCreateInput("", 64, 32, 201, 21)
$Input2 = GUICtrlCreateInput("", 64, 80, 201, 21)
$Input3 = GUICtrlCreateInput("", 64, 128, 201, 21)
$Input4 = GUICtrlCreateInput("", 64, 176, 201, 21)
$Inputx = GUICtrlCreateEdit("", 64, 240, 500, 89, $ws_border)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
      Local $aaa = GUICtrlRead($Inputx)
      Local $bbb = GUICtrlRead($Input1) & "/" & GUICtrlRead($Input2) & "/" & GUICtrlRead($Input3) & "/" & GUICtrlRead($Input4)
      If $aaa <> $bbb Then
                If _GUICtrlEdit_GetModify($Inputx) = True Then
                        Local $arr = StringSplit($aaa, "/")
                                                _ArrayAdd($arr,"")
                                                _ArrayAdd($arr,"")
                                                _ArrayAdd($arr,"")
                                                _ArrayAdd($arr,"")

                        GUICtrlSetData($Input1, $arr)
                        GUICtrlSetData($Input2, $arr)
                        GUICtrlSetData($Input3, $arr)
                        GUICtrlSetData($Input4, $arr)


                                                GUICtrlSetData($Inputx, $arr & "/" & $arr & "/" & $arr & "/" & $arr)
                Else
                        GUICtrlSetData($Inputx, GUICtrlRead($Input1) & "/" & GUICtrlRead($Input2) & "/" & GUICtrlRead($Input3) & "/" & GUICtrlRead($Input4))
                EndIf
      EndIf
      

      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
      EndSwitch
WEnd
页: 1 [2]
查看完整版本: 如何实现输入框之间的数据互相随之即时改变?[已解决]