Всем привет
Yashied делал UDF "Создание элементов Color Picker для GUI": http://autoit-script.ru/index.php?topic=43.0
Сейчас UDF пригодилась, но она не работает, когда я использую WM_COMMAND
Как победить?
Yashied делал UDF "Создание элементов Color Picker для GUI": http://autoit-script.ru/index.php?topic=43.0
Сейчас UDF пригодилась, но она не работает, когда я использую WM_COMMAND
Как победить?
Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include "ColorPicker.au3"
$Form1 = GUICreate("Form1", 312, 127, 338, 220)
$Input1 = GUICtrlCreateInput("Input1", 8, 16, 121, 21)
$Input1Change = GUICtrlCreateDummy()
$ColorHex='0x000000' ; Начальное значения цвета RGB в формате '0x'+'Hex'
$Picker1= _GUIColorPicker_Create('', 176, 16, 121, 21, $ColorHex, BitOR($CP_FLAG_CHOOSERBUTTON, $CP_FLAG_ARROWSTYLE, $CP_FLAG_MOUSEWHEEL), 0, -1, -1, 0, 'Выберите цвет','Выбор')
GUIRegisterMsg( $WM_COMMAND, "WM_COMMAND" ) ; Если закомментировать, то работает
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Input1Change
ConsoleWrite(@CRLF&GUICtrlRead($Input1))
EndSwitch
WEnd
Func WM_COMMAND( $hWnd, $iMsg, $wParam, $lParam )
Local $hWndFrom = $lParam
Local $iCode = BitShift( $wParam, 16 )
Local $hInput1 = GUICtrlGetHandle( $Input1 )
Switch $hWndFrom
Case $hInput1
Switch $iCode
Case $EN_CHANGE
GUICtrlSendToDummy( $Input1Change )
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc