phimiler 发表于 2020-5-23 10:10:51

如何捕获Input控件内容改变事件

本帖最后由 phimiler 于 2020-5-23 10:15 编辑


请问如何捕获Input控件内容改变事件,我用下面的代码不起作用。请大神指导。

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 437, 192, 124)
$Input1 = GUICtrlCreateInput("Input1", 120, 144, 337, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
       Case $GUI_EVENT_CLOSE
             Exit
      Case $Input1
             Msgbox(0,"","hello")
      EndSwitch
WEnd



afan 发表于 2020-5-23 10:52:02

帮助文档 论坛 例子无数……
GUICreate('Input Change')
Global $Input = GUICtrlCreateInput('', 20, 50, 300, 20)
Global $hInput = GUICtrlGetHandle(-1)
Global $iLbTip = GUICtrlCreateLabel('', 24, 80, 300, 60)
GUISetState()
GUIRegisterMsg(0x111, '_WM_COMMAND')

While GUIGetMsg() <> -3
WEnd

Func _WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
        If $ilParam = $hInput And BitShift($iwParam, 16) = 0x300 Then GUICtrlSetData($iLbTip, GUICtrlRead($Input))
EndFunc   ;==>_WM_COMMAND

phimiler 发表于 2020-5-23 12:02:21

afan 发表于 2020-5-23 10:52
帮助文档 论坛 例子无数……

谢谢afan大侠。
你给的代码注册了一个windows消息ID的自定义函数,但自定函数的参数我看不懂,也不知道从哪里传过来的,调用的机制是什么。能否给我个学习这方面知识的推荐。

afan 发表于 2020-5-23 12:09:37

帮助文档 GUIRegisterMsg

afan 发表于 2020-5-24 14:18:57

标题加已解决几个字很难么?此次 -20,下次 -50
页: [1]
查看完整版本: 如何捕获Input控件内容改变事件