找回密码
 加入
搜索
查看: 1644|回复: 4

[AU3基础] 如何捕获Input控件内容改变事件

[复制链接]
发表于 2020-5-23 10:10:51 | 显示全部楼层 |阅读模式
本帖最后由 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

评分

参与人数 1金钱 -20 收起 理由
afan -20

查看全部评分

发表于 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
 楼主| 发表于 2020-5-23 12:02:21 | 显示全部楼层
afan 发表于 2020-5-23 10:52
帮助文档 论坛 例子无数……

谢谢afan大侠。
你给的代码注册了一个windows消息ID的自定义函数,但自定函数的参数我看不懂,也不知道从哪里传过来的,调用的机制是什么。能否给我个学习这方面知识的推荐。
发表于 2020-5-23 12:09:37 | 显示全部楼层
帮助文档 GUIRegisterMsg
发表于 2020-5-24 14:18:57 | 显示全部楼层
标题加已解决几个字很难么?此次 -20,下次 -50
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 10:47 , Processed in 0.072008 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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