找回密码
 加入
搜索
查看: 2619|回复: 11

[网络通信] 请教增加控件后GUIRegisterMsg函数如何实时响应[已解决]

[复制链接]
发表于 2019-12-11 10:27:27 | 显示全部楼层 |阅读模式
本帖最后由 smooth 于 2019-12-17 12:16 编辑

各位大神,我的代码片段如下(简略的):
现在是:
$Label[0]和$input[0]、$input[1]实时关联;
$Label[1]和$input[2]、$input[3]实时关联;
$Label[2]和$input[4]、$input[5]实时关联;
$Label[3]和$input[6]、$input[7]实时关联;
之前$Input8和$Input9是在主函数中获取的,现在想改到把它们改到Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) 这个函数中,实现不管是修改$Input8还是$Input9,实时传导给主函数。
即:
$Label[0]和$input[0]、$input[1]、$input8、$input9实时关联;
$Label[1]和$input[2]、$input[3]、$input8、$input9实时关联;
$Label[2]和$input[4]、$input[5]、$input8、$input9实时关联;
$Label[3]和$input[6]、$input[7]、$input8、$input9实时关联;

就是$input或者$input9发生变化,_GetResult($fengxiang, $fengxu, $juli)也实时工作。
Global $Label[4], $Input[8]
$f_fm = XX
$f_jm = YY
$Input8 = $f_fm
$Input9 = $f_jm
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) 
 Local $hWndFrom, $iIDFrom, $iCode
 $hWndFrom = $lParam
 $iIDFrom = _WinAPI_LoWord($wParam) 
 $iCode = _WinAPI_HiWord($wParam) 
 If $iCode = $EN_CHANGE Then 
  For $i = 0 To 7
   If $iIDFrom = $Input[$i] Then
    Local $t1, $t2, $f, $fx
    If Mod($i, 2) = 0 Then
     $f = $i + 1
     $t1 = StringStripWS(GUICtrlRead($Input[$i]), 3)
     $t2 = StringStripWS(GUICtrlRead($Input[$f]), 3)
     $fx = GUICtrlRead($Label[$i / 2])
    Else
     $f = $i - 1
     $t1 = StringStripWS(GUICtrlRead($Input[$f]), 3)
     $t2 = StringStripWS(GUICtrlRead($Input[$i]), 3)
     $fx = GUICtrlRead($Label[$f / 2])
    EndIf
    For $j = 0 To 7
     If $j <> $i And $j <> $f Then
      If $t1 = "" And $t2 = "" Then
       GUICtrlSetState($Input[$j], $GUI_ENABLE)
       GUICtrlSetBkColor($Input[$j], $CLR_WHITE)
      Else
       GUICtrlSetState($Input[$j], $GUI_DISABLE)
       GUICtrlSetBkColor($Input[$j], $CLR_SILVER)
      EndIf
     EndIf
    Next
    If $t1 = "" Or $t2 = "" Then
     _GUICtrlListView_DeleteAllItems_($lv)
     If $t1 <> "" Or $t2 <> "" Then
      If $t1 <> "" Then 
          GUICtrlSetData($Label_DataIputState, "等待xxxx输入完成...")
         Else
          GUICtrlSetData($Label_DataIputState, "等待YYYY输入完成...")
      EndIf
     Else
      GUICtrlSetData($Label_DataIputState, "")
     EndIf
    Else
     GUICtrlSetData($Label_DataIputState, "")
     _GetResult($fx, $t1, $t2)
    EndIf
    ExitLoop
   EndIf
  Next
 EndIf
 Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND
Func _GetResult($fengxiang, $fengxu, $juli)
    ;其他代码省略
    $f_fm = Abs(Number(GUICtrlRead($Input8)))
    $f_jm = Abs(Number(GUICtrlRead($Input9)))
    ;其他代码省略
EndFunc   ;==>_GetResult

自己琢磨了几天,没研究出来,请懂的大神指教,谢谢!




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2019-12-11 13:46:46 | 显示全部楼层
 楼主| 发表于 2019-12-11 14:49:04 | 显示全部楼层
ceoguang 发表于 2019-12-11 13:46
EN_CHANGE
https://docs.microsoft.com/en-us/windows/win32/controls/en-change
or EN_UPDATE

两个链接都无法打开
发表于 2019-12-11 15:01:27 | 显示全部楼层
要学会搜索。
haijie1223<监控输入框的内容变化>=http://www.autoitx.com/thread-71671-1-1.html
 楼主| 发表于 2019-12-11 15:10:54 | 显示全部楼层
chzj589 发表于 2019-12-11 15:01
要学会搜索。
haijie1223=http://www.autoitx.com/thread-71671-1-1.html

我这个已经是改进之后的了,之前就是按照发哥这个来写的。增加了2个输入框,不知道怎么实时了。
发表于 2019-12-11 15:23:53 | 显示全部楼层
smooth 发表于 2019-12-11 15:10
我这个已经是改进之后的了,之前就是按照发哥这个来写的。增加了2个输入框,不知道怎么实时了。

我修改的列子,你参考一下:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $GUI = GUICreate("监控输入框内容变化实时响应", 620, 110)
$Input = GUICtrlCreateInput('', 10, 10, 300, 25);, 0x2000);$ES_RIGHT);
GUICtrlSetFont(-1, 11, 400, 0, 'Arial')
GUICtrlSetBkColor(-1, 0xFF9933)
GUICtrlSetLimit(-1, 48)
GUICtrlSetState(-1, 0x200);$GUI_FOCUS)--编辑控件只接受输入数字.
$Input3 = GUICtrlCreateInput('', 10, 40, 300, 25)
GUICtrlSetFont(-1, 11, 400, 0, 'Arial')
GUICtrlSetBkColor(-1, 0xFF9933)
GUICtrlSetLimit(-1, 48)
GUICtrlSetState(-1, 0x200);$GUI_FOCUS)--编辑控件只接受输入数字.
$Input8 = GUICtrlCreateInput('', 310, 10, 300, 25);, 0x2000);$ES_RIGHT);
GUICtrlSetFont(-1, 11, 400, 0, 'Arial')
GUICtrlSetBkColor($Input8, 0xFF9933)
GUICtrlSetLimit(-1, 48)
GUICtrlSetState($Input8, 0x200);$GUI_FOCUS)--编辑控件只接受输入数字.
$Input9 = GUICtrlCreateInput('', 310, 40, 300, 25)
GUICtrlSetFont(-1, 11, 400, 0, 'Arial')
GUICtrlSetBkColor(-1, 0xFF9933)
GUICtrlSetLimit(-1, 48)
GUICtrlSetState(-1, 0x200);$GUI_FOCUS)--编辑控件只接受输入数字.
Global $Button88 = GUICtrlCreateButton("查询", 125, 83, 70, 22, 0)
GUICtrlSetState($Button88, 128)
GUISetState()

GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
While 1
        Switch GUIGetMsg()
                Case -3
                        Exit
                Case $Button88
                        MsgBox(0, "实时响应", "$input=" &GUICtrlRead($Input)& @CRLF & "$input3=" &GUICtrlRead($Input3)& @CRLF & "$input8=" &GUICtrlRead($Input8)& @CRLF & "$input9=" &GUICtrlRead($Input9))
        EndSwitch
WEnd
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
        Local $iCode = BitShift($iwParam, 16)
        Local $nMsgID = BitAND($iwParam, 0x0000FFFF)
        Switch BitAND(0xffff, $iwParam)
                Case $Input
                        If BitShift($iwParam, 16) = 0x300 Then
                                If GUICtrlRead($Input) = "" Then
                                        GUICtrlSetBkColor($Input3, 0xFF9933)
                                        GUICtrlSetBkColor($Input, 0xFF9933)
                                        GUICtrlSetBkColor($Input8, 0xFF9933)
                                        GUICtrlSetBkColor($Input9, 0xFF9933)
                                        GUICtrlSetData($Input3, "")
                                        GUICtrlSetData($Input8, "")
                                        GUICtrlSetData($Input9, "")
                                        GUICtrlSetState($Button88, 128)
                                Else
                                        ;GUICtrlSetBkColor($Input1, 0xfbfcfd)
                                        GUICtrlSetBkColor($Input, 0xfbfcfd)
                                        GUICtrlSetBkColor($Input8, 0xfbfcfd)
                                        GUICtrlSetBkColor($Input9, 0xfbfcfd)
                                        $Inp = GUICtrlRead($Input)
                                        If BitShift($iwParam, 16) = 0x300 Then GUICtrlSetData($Input8, $Inp)
                                        If BitShift($iwParam, 16) = 0x300 Then GUICtrlSetData($Input9, $Inp)
                                        ;If BitShift($iwParam, 16) = 0x300 Then GUICtrlSetData($Input1, $Inp)
                                        If BitShift($iwParam, 16) = 0x300 Then GUICtrlSetState($Button88, 64)
                                EndIf
                        EndIf
                Case $Input3
                        If BitShift($iwParam, 16) = 0x300 Then
                                If GUICtrlRead($Input3) = "" Then
                                        GUICtrlSetBkColor($Input3, 0xFF9933)
                                        GUICtrlSetBkColor($Input, 0xFF9933)
                                        GUICtrlSetBkColor($Input8, 0xFF9933)
                                        GUICtrlSetBkColor($Input9, 0xFF9933)
                                        GUICtrlSetData($Input3, "")
                                        GUICtrlSetData($Input8, "")
                                        GUICtrlSetData($Input9, "")
                                        GUICtrlSetState($Button88, 128)
                                Else
                                        GUICtrlSetBkColor($Input3, 0xfbfcfd)
                                        ;GUICtrlSetBkColor($Input, 0xfbfcfd)
                                        GUICtrlSetBkColor($Input8, 0xfbfcfd)
                                        GUICtrlSetBkColor($Input9, 0xfbfcfd)
                                        $Inp = GUICtrlRead($Input3)
                                        If BitShift($iwParam, 16) = 0x300 Then GUICtrlSetData($Input8, $Inp)
                                        If BitShift($iwParam, 16) = 0x300 Then GUICtrlSetData($Input9, $Inp)
                                        ;If BitShift($iwParam, 16) = 0x300 Then GUICtrlSetData($Input1, $Inp)
                                        If BitShift($iwParam, 16) = 0x300 Then GUICtrlSetState($Button88, 64)
                                EndIf
                        EndIf
        EndSwitch
        ;Return 1
EndFunc   ;==>WM_COMMAND
发表于 2019-12-11 15:26:25 | 显示全部楼层
smooth 发表于 2019-12-11 15:10
我这个已经是改进之后的了,之前就是按照发哥这个来写的。增加了2个输入框,不知道怎么实时了。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2019-12-11 15:58:08 | 显示全部楼层
本帖最后由 smooth 于 2019-12-11 16:12 编辑

你这个写法是基础写法,我一开始也是按照你这个写法写的,代码比较多(如下图)。我现在的写法较为简洁,但是要处理的逻辑关系比较难。



现在的写法,概括起来的逻辑关系为:
Label[0]      Input[0][1]     input8    input9
Label[1]      Input[2][3]     input8    input9
Label[2]      Input[4][5]     input8    input9
Label[3]      Input[6][7]     input8    input9

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2019-12-12 18:34:55 | 显示全部楼层
smooth 发表于 2019-12-11 15:58
你这个写法是基础写法,我一开始也是按照你这个写法写的,代码比较多(如下图)。我现在的写法较为简洁, ...

自己瞎捉摸,没有控件代码,被窝里猜美女,




#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>

Global $Label[4], $Input[10], $CLR_WHITE, $CLR_SILVER, $Button88
$ii = 1
Global $GUI = GUICreate("监控输入框内容变化实时响应", 620, 300)
$Button88 = GUICtrlCreateButton("查询", 125, 263, 70, 22, 0)
GUICtrlSetState($Button88, 128)
GUICtrlCreateLabel("Label1-4:", 50, 10, 70, 20)
GUICtrlSetFont(-1, 10, 400, 0, 'Arial')
GUICtrlCreateLabel("$Input1-12:", 50, 90, 70, 20)
GUICtrlSetFont(-1, 10, 400, 0, 'Arial')
Global $Label[8]
Local $a = 1
For $i = 1 To 2
        For $j = 0 To 1
                $Label[$a] = GUICtrlCreateInput("", 50 + $j * 270, $i * 30, 250, 25);, $SS_CENTER)
                ;GUICtrlSetFont(-1, 16, 800)
                GUICtrlSetFont(-1, 11, 400, 0, 'Arial');"微软雅黑")
                GUICtrlSetBkColor(-1, 0xFF9933)
                GUICtrlSetLimit(-1, 48)
                $a += 1
        Next
Next
Global $Input[13]
Local $k = 1
For $i = 1 To 5
        For $j = 0 To 1
                $Input[$k] = GUICtrlCreateInput("", 50 + $j * 270, 80 + $i * 30, 250, 25);, $SS_CENTER)
                ;GUICtrlSetFont(-1, 16, 800)
                GUICtrlSetFont(-1, 11, 400, 0, 'Arial');"微软雅黑")
                GUICtrlSetBkColor(-1, 0xFF9933)
                $k += 1
        Next
Next
GUISetState()
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
While 1
        Switch GUIGetMsg()
                Case -3
                        Exit
                Case $Button88
                        MsgBox(0, "实时响应", "$input=" & GUICtrlRead($Label[1]) & @CRLF & "$input8=" & GUICtrlRead($Input[8]) & @CRLF & "$input9=" & GUICtrlRead($Input[9]))
        EndSwitch
WEnd
Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
        Local $hWndFrom, $iIDFrom, $iCode, $EN_CHANGE
        $hWndFrom = $lParam
        $iIDFrom = _WinAPI_LoWord($wParam)
        $iCode = _WinAPI_HiWord($wParam)
        ;If $iCode = $EN_CHANGE Then
        If BitShift($wParam, 16) = 0x300 Then
                For $i = 1 To 4
                        If $iIDFrom = $Label[$i] Then
                                Local $t1, $t2, $f, $fx
                                If GUICtrlRead($Label[$i]) = "" Then
                                        GUICtrlSetBkColor($Label[$i], 0xFF9933)
                                        GUICtrlSetBkColor($Input[8], 0xFF9933)
                                        GUICtrlSetBkColor($Input[9], 0xFF9933)
                                        GUICtrlSetData($Label[$i], "")
                                        GUICtrlSetData($Input[8], "")
                                        GUICtrlSetData($Input[9], "")
                                        GUICtrlSetData($Input[$i], "")
                                        GUICtrlSetBkColor($Input[$i], 0xFF9933)
                                Else
                                        $Inp = GUICtrlRead($Label[$i])
                                        If BitShift($wParam, 16) = 0x300 Then GUICtrlSetData($Input[8], $Inp)
                                        If BitShift($wParam, 16) = 0x300 Then GUICtrlSetData($Input[9], $Inp)
                                        If BitShift($wParam, 16) = 0x300 Then GUICtrlSetState($Button88, 64)
                                        GUICtrlSetBkColor($Label[$i], 0xfbfcfd)
                                        GUICtrlSetBkColor($Input[8], 0xfbfcfd)
                                        GUICtrlSetBkColor($Input[9], 0xfbfcfd)
                                        GUICtrlSetBkColor($Input[$i],0xfbfcfd)
                                        ;EndIf
                                EndIf
                                If Mod($i, 2) = 0 Then
                                        $f = $i + 1
                                        $t1 = StringStripWS(GUICtrlRead($Input[$i]), 3)
                                        $t2 = StringStripWS(GUICtrlRead($Input[$f]), 3)
                                        $fx = GUICtrlRead($Label[$i / 2])

                                Else
                                        $f = $i - 1
                                        $t1 = StringStripWS(GUICtrlRead($Input[$f]), 3)
                                        $t2 = StringStripWS(GUICtrlRead($Input[$i]), 3)
                                        $fx = GUICtrlRead($Label[$f / 2])
                                EndIf

                                For $j = 0 To 7
                                        If $j <> $i And $j <> $f Then
                                                If $t1 = "" And $t2 = "" Then
                                                        ;If BitShift($wParam, 16) = 0x300 Then GUICtrlSetState($Input[$j], $GUI_ENABLE)
                                                        If BitShift($wParam, 16) = 0x300 Then GUICtrlSetBkColor($Input[$j], 0xFF9933);$CLR_WHITE)

                                                Else
                                                        ;If BitShift($wParam, 16) = 0x300 Then GUICtrlSetState($Input[$j], $GUI_DISABLE)
                                                        If BitShift($wParam, 16) = 0x300 Then GUICtrlSetBkColor($Input[$j],  0xfbfcfd);$CLR_SILVER)
                                                EndIf
                                        EndIf
                                Next
                                If $t1 = "" Or $t2 = "" Then
                                        ;_GUICtrlListView_DeleteAllItems($lv)
                                        If $t1 <> "" Or $t2 <> "" Then
                                                If $t1 <> "" Then
                                                        If BitShift($wParam, 16) = 0x300 Then GUICtrlSetData($Input[2], "等待xxxx输入完成...")
                                                Else
                                                        If BitShift($wParam, 16) = 0x300 Then GUICtrlSetData($Input[3], "等待YYYY输入完成...")
                                                EndIf
                                        Else
                                                GUICtrlSetData($Input[2], "")
                                        EndIf
                                Else
                                        GUICtrlSetData($Input[2], "")
                                        _GetResult($fx, $t1, $t2)
                                EndIf

                                ExitLoop
                        EndIf
                Next
        EndIf
        Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND
Func _GetResult($fengxiang, $fengxu, $juli)
        ;其他代码省略
        $f_fm = Abs(Number(GUICtrlRead($Input[8])))
        $f_jm = Abs(Number(GUICtrlRead($Input[9])))
        ;其他代码省略
EndFunc   ;==>_GetResult


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2019-12-13 09:18:40 | 显示全部楼层
本帖最后由 chzj589 于 2019-12-15 10:29 编辑
smooth 发表于 2019-12-11 15:58
你这个写法是基础写法,我一开始也是按照你这个写法写的,代码比较多(如下图)。我现在的写法较为简洁, ...

没数据库测试,你看一下操作步骤,并做说明。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2019-12-17 12:15:28 | 显示全部楼层
终于改好了,世上无难事,只怕有心人!
Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) ;$hWnd:出现消息的 GUI 窗口句柄;$iMsg:Windows 消息 ID;十六进制值的第一个消息参数;$lParam:十六进制值的第二个消息参数.
         Local $hWndFrom, $iIDFrom, $iCode
         ;$hWndFrom = $lParam
         $iIDFrom = _WinAPI_LoWord($wParam) ;检索长字值的低位字。当消息是来自控件时,lParam是控件句柄。wParam的高位是控件的通知代码,低位是控件ID。
        $iCode = _WinAPI_HiWord($wParam) ;获取一个长字值的高位字。当消息是来自控件时,lParam是控件句柄。wParam的高位是控件的通知代码,低位是控件ID。
        If $iCode = $EN_CHANGE Then ;$EN_CHANGE = 0x300,<EditConstants.au3>中定义。
                For $i = 0 To 7
                         If $iIDFrom = $Input[$i] Then
                                 Local $t1, $t2, $f, $fx;, $t3, $t4
                                 If Mod($i, 2) = 0 Then
                                         $f = $i + 1
                                         $t1 = StringStripWS(GUICtrlRead($Input[$i]), 3)
                                         $t2 = StringStripWS(GUICtrlRead($Input[$f]), 3)
                                         $fx = GUICtrlRead($Label[$i / 2])
                                 Else
                                         $f = $i - 1
                                         $t1 = StringStripWS(GUICtrlRead($Input[$f]), 3)
                                         $t2 = StringStripWS(GUICtrlRead($Input[$i]), 3)
                                         $fx = GUICtrlRead($Label[$f / 2])
                                 EndIf
                                 For $j = 0 To 7
                                         If $j <> $i And $j <> $f Then; $i和 $f,指的是当前操作的那对输入框,所以,当$j <> $i And $j <> $f时,指的是非操作的其他三对输入框。
                                                If $t1 = "" And $t2 = "" Then;当清空当前操作的那对输入框时,就把其他三对输入框恢复可输入状态。
                                                            GUICtrlSetState($Input[$j], $GUI_ENABLE)
                                                             GUICtrlSetBkColor($Input[$j], $CLR_WHITE)
                                                 Else;反之,当当前操作的这对输入框开始有输入时,则把其他三对输入框禁用掉。
                                                        If BitAND(GUICtrlGetState($Input[$j]), $GUI_ENABLE) Then;防止在输入或删除数据时,输入框跳动。
                                                            GUICtrlSetState($Input[$j], $GUI_DISABLE)
                                                             GUICtrlSetBkColor($Input[$j], $CLR_SILVER)
                                                         EndIf        
                                                 EndIf
                                         EndIf
                                 Next
                                 If $t1 = "" Or $t2 = "" Then
                                         _GUICtrlListView_DeleteAllItems_($lv)
                                         If $t1 <> "" Or $t2 <> "" Then
                                                 If $t1 <> "" Then 
                                                     GUICtrlSetData($Label_DataIputState, "等待屏距输入完成...")
                                             Else
                                                     GUICtrlSetData($Label_DataIputState, "等待风序输入完成...")
                                                 EndIf
                                         Else
                                                 GUICtrlSetData($Label_DataIputState, "")
                                         EndIf
                                 Else
                                         GUICtrlSetData($Label_DataIputState, "")
                                         _GetResult($fx, $t1, $t2)
                                 EndIf
                                 ExitLoop
                         EndIf
                 Next
                 If $iIDFrom = $Input8 Or $iIDFrom = $Input9 Then
                 For $i = 0 To 7
                         If GUICtrlRead($Input[$i]) <> "" Then
                                 Local $t1, $t2, $f, $fx;, $t3, $t4
                                 If Mod($i, 2) = 0 Then
                                         $f = $i + 1
                                         $t1 = StringStripWS(GUICtrlRead($Input[$i]), 3)
                                         $t2 = StringStripWS(GUICtrlRead($Input[$f]), 3)
                                         $fx = GUICtrlRead($Label[$i / 2])
                                 Else
                                         $f = $i - 1
                                         $t1 = StringStripWS(GUICtrlRead($Input[$f]), 3)
                                         $t2 = StringStripWS(GUICtrlRead($Input[$i]), 3)
                                         $fx = GUICtrlRead($Label[$f / 2])
                                 EndIf
                                 For $j = 0 To 7
                                         If $j <> $i And $j <> $f Then; $i和 $f,指的是当前操作的那对输入框,所以,当$j <> $i And $j <> $f时,指的是非操作的其他三对输入框。
                                                If $t1 = "" And $t2 = "" Then;当清空当前操作的那对输入框时,就把其他三对输入框恢复可输入状态。
                                                            GUICtrlSetState($Input[$j], $GUI_ENABLE)
                                                             GUICtrlSetBkColor($Input[$j], $CLR_WHITE)
                                                 Else;反之,当当前操作的这对输入框开始有输入时,则把其他三对输入框禁用掉。
                                                        If BitAND(GUICtrlGetState($Input[$j]), $GUI_ENABLE) Then;防止在输入或删除数据时,输入框跳动。
                                                            GUICtrlSetState($Input[$j], $GUI_DISABLE)
                                                             GUICtrlSetBkColor($Input[$j], $CLR_SILVER)
                                                         EndIf        
                                                 EndIf
                                         EndIf
                                 Next
                                 If $t1 = "" Or $t2 = "" Then
                                         _GUICtrlListView_DeleteAllItems_($lv)
                                         If $t1 <> "" Or $t2 <> "" Then
                                                 If $t1 <> "" Then 
                                                     GUICtrlSetData($Label_DataIputState, "等待****输入完成...")
                                             Else
                                                     GUICtrlSetData($Label_DataIputState, "等待****输入完成...")
                                                 EndIf
                                         Else
                                                 GUICtrlSetData($Label_DataIputState, "")
                                         EndIf
                                 Else
                                         GUICtrlSetData($Label_DataIputState, "")
                                         _GetResult($fx, $t1, $t2)
                                 EndIf
                                 ExitLoop
                         EndIf
                 Next
                 EndIf        
         EndIf
         Return $GUI_RUNDEFMSG;如果关键字Return与常量参数$GUI_RUNDEFMSG(可以在包含文件 GUIConstantsEx.au3 中找到)一起使用, 则 AutoIt 内部消息处理程序也将被执行.
EndFunc   ;==>WM_COMMAND
发表于 2019-12-17 13:34:07 | 显示全部楼层
本帖最后由 chzj589 于 2019-12-17 20:17 编辑
smooth 发表于 2019-12-17 12:15
终于改好了,世上无难事,只怕有心人!

替换你的WM_COMMAND,运行后$input8和$input9这两个输入框是默认值
$Label[0] 和 $input[0]与$input8实时关联;$input[1]与$input9实时关联;
$Label[1] 和 $input[2]与$input8实时关联;$input[3]与$input9实时关联;
$Label[2] 和 $input[4]与$input8实时关联;$input[5]与$input9实时关联;
$Label[3] 和 $input[6]与$input8实时关联;$input[7]与$input9实时关联;

您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 17:27 , Processed in 0.155058 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表