AllenLee 发表于 2011-12-28 12:44:05

Input控件的消息,如何不敲回车就能生效?

2个控件,Input和List,List项根据Input输入而改变
问题是在Input输入的内容必须敲回车后,List内容才会改变
如何做到输入后List内容立即改变,不需要敲回车?
请各位指点一下,谢谢!

80ren 发表于 2011-12-28 13:45:31

同样想知道

amxi 发表于 2011-12-28 13:57:42

onevevt 事件不知道行不行

要么放地while语句里

lion.lee 发表于 2011-12-28 15:05:24

用VB就可以。

xiehuahere 发表于 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

AllenLee 发表于 2011-12-28 17:16:49

xiehuahere,先谢了!
页: [1]
查看完整版本: Input控件的消息,如何不敲回车就能生效?