Войти

Показать полную графическую версию : Помогите с $WM_COMMAND


-TRM-
25-12-2018, 10:32
Приветствую и прошу помощи. В скрипте не получается сделать так, чтобы при добавлении любой буквы в $Combo1 можно было отлавливать в $WM_COMMAND Case $Combo1 (как работает это с $Input1).

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 155, 127, 192, 124)
$Input1 = GUICtrlCreateInput("Input1", 16, 24, 121, 21)
$Combo1 = GUICtrlCreateCombo("Combo1", 16, 56, 121, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Button1 = GUICtrlCreateButton("Button1", 40, 88, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

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

Case $Input1
Case $Combo1
Case $Button1
EndSwitch
WEnd

Func WM_COMMAND($hWnd, $imsg, $iwparam, $ilparam)
Local $nnotifycode, $nid, $stext
$nnotifycode = BitShift($iwparam, 16)
$nid = BitAND($iwparam, 65535)
Switch $hWnd
Case $Form1
Switch $nid
Case $Combo1
Switch $nnotifycode
Case $en_change
ConsoleWrite("$Combo1"&@CRLF) ;Нужно тут отловить !
EndSwitch
Case $Input1
Switch $nnotifycode
Case $en_change
ConsoleWrite("$Input1"&@CRLF)
EndSwitch
EndSwitch
EndSwitch
Return $gui_rundefmsg
EndFunc

Creat0R
02-03-2019, 01:43
Switch (http://www.autoitscript.com/autoit3/docs/keywords.htm#Switch) $nnotifycode
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $CBN_EDITCHANGE
ConsoleWrite (http://www.autoitscript.com/autoit3/docs/functions/ConsoleWrite.htm)("$Combo1"&@CRLF (http://www.autoitscript.com/autoit3/docs/macros.htm#@crlf)) ;Нужно тут отловить !
EndSwitch (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndSwitch)




© OSzone.net 2001-2012