找回密码
 加入
搜索
查看: 2071|回复: 5

[GUI管理] Input控件的消息,如何不敲回车就能生效?

  [复制链接]
发表于 2011-12-28 12:44:05 | 显示全部楼层 |阅读模式
2个控件,Input和List,List项根据Input输入而改变
问题是在Input输入的内容必须敲回车后,List内容才会改变
如何做到输入后List内容立即改变,不需要敲回车?
请各位指点一下,谢谢!
发表于 2011-12-28 13:45:31 | 显示全部楼层
同样想知道
发表于 2011-12-28 13:57:42 | 显示全部楼层
onevevt 事件不知道行不行

要么放地while语句里
发表于 2011-12-28 15:05:24 | 显示全部楼层
用VB就可以。
发表于 2011-12-28 16:53:56 | 显示全部楼层
用 GUIRegisterMsg 捕获WM_COMMAND系统消息并处理EN_CHANGE事件(Edit和Input控件的专有事件),这样就可以实时取出文本内容并更新list控件内容。
请试试这个:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 194, 111, 192, 114)
$Edit1 = GUICtrlCreateEdit('', 32, 40, 131, 20)
$hEdit = GUICtrlGetHandle($Edit1)
GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

Func WM_COMMAND($hWnd, $msg, $wParam, $lParam)
        Local $iCode = BitShift($wParam, 16)        ; get the high word
        Switch $lParam
                Case $hEdit
                        Switch $iCode
                                Case $EN_CHANGE
                                        $text = GUICtrlRead($Edit1)
                                        MsgBox(0, "Contents", $text)
                        EndSwitch
        EndSwitch
        Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND
 楼主| 发表于 2011-12-28 17:16:49 | 显示全部楼层
xiehuahere,先谢了!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-3 07:45 , Processed in 0.076298 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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