daihaobin 发表于 2011-2-13 23:57:23

焦点离开控件的会不会有事件触发[已解决]

本帖最后由 daihaobin 于 2011-8-20 09:40 编辑

Autoit有没有焦点离开控件(例如input控件)的触发的事件,用于对数据的正确性进行较验(检查input内的数据是否符合条件).

水木子 发表于 2011-2-13 23:59:45

本帖最后由 水木子 于 2011-2-14 00:06 编辑

有啊!
#include <WinAPI.au3>
#include <GuiEdit.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>

GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
GUICreate("Form1", 400, 300)
$Inputa = GUICtrlCreateInput("A", 50, 50, 100, 21)
$Inputb = GUICtrlCreateInput("B", 50, 100, 100, 21)
$Inputc = GUICtrlCreateInput("C", 50, 150, 100, 21)
$Inputd = GUICtrlCreateInput("D", 50, 200, 100, 21)
$Button1 = GUICtrlCreateButton("E", 250, 100, 100, 30)
GUISetState()

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
                Case $Button1
                        MsgBox(0, '', '相应回车键')
        EndSwitch
WEnd

Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
        Local $hWndFrom, $iIDFrom, $iCode, $hWndEdit
        $nID = BitAND($iwParam, 0x0000FFFF)
        ;$iIDFrom = _WinAPI_LoWord($iwParam)
        $iCode = _WinAPI_HiWord($iwParam)
        Switch $iCode
                Case $EN_KILLFOCUS
                        Switch $nID
                                Case $Inputa To $Inputd
                                        MsgBox(0, '', GUICtrlRead($nID))
                        EndSwitch
        EndSwitch
EndFunc   ;==>WM_COMMAND

daihaobin 发表于 2011-2-14 00:37:13

很好用,非常感谢!!

linmi 发表于 2011-2-17 22:44:59

系统消息,很强大,论坛中关于这方面的介绍还真的很少啊。

zery 发表于 2011-9-27 13:02:59

学习了,谢谢,正好用得着

netegg 发表于 2011-9-27 13:05:51

回复 2# 水木子

水木的技术提高不少啊

水木子 发表于 2011-9-28 16:17:06

回复 6# netegg

呵呵!有段时间不是正好在学习Windows消息吗!

ganyuansi 发表于 2019-3-13 22:45:33

有点复杂,表示没看懂,悲哀

niqindong 发表于 2019-5-12 00:39:51

向大佬学习!
页: [1]
查看完整版本: 焦点离开控件的会不会有事件触发[已解决]