Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 2)

Модерирует : gyra, Maz

Widok (01-06-2010 13:08): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

sproxy



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

 
Disable / Enable кнопки, если в Input, в самом начале введен текст /buy. Проверка по событию

Код:
Opt('GUIOnEventMode',   1)
Opt('MustDeclareVars',  1)
Opt('TrayIconDebug',    1)
 
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
HotKeySet('{ESC}', '_Pro_Exit'); ESC - Закрыть скрипт
 
Global $hMainWIn, $hInputTest, $hButtonApply
 
$hMainWIn
= GUICreate('Test', 400, 400)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_Pro_Exit')
 
$hInputTest   = GUICtrlCreateInput('', 10, 20, 400-20, 20)
$hButtonApply = GUICtrlCreateButton('Apply', 10, 50, 150, 25)
 
GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
GUISetState()
 
#region: - Sleep, Exit, OnAutoItExit
While 1
    Sleep(10)
WEnd
 
Func
_Pro_Exit()
    Exit
EndFunc

#endregion
 
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg
    Local $hWndFrom, $iIDFrom, $iCode, $hWndEdit
    If Not IsHWnd($hInputTest) Then $hWndEdit = GUICtrlGetHandle($hInputTest)
    $hWndFrom = $ilParam
    $iIDFrom
= _WinAPI_LoWord($iwParam)
    $iCode = _WinAPI_HiWord($iwParam)
    Switch $hWndFrom
        Case $hWndEdit
            _DebugPrint('Action' & @LF & _
                        '-->hWndFrom:'  & @TAB & $hWndFrom & @LF & _
                        '-->IDFrom:'    & @TAB & $iIDFrom   & @LF & _
                        '-->Code:'      & @TAB & $iCode)
            Switch $iCode
                Case 256
                    _CheckInput($hInputTest, '(?i)^\/buy$|^\/buy\s+.*', $hButtonApply)
                Case 768
                    _CheckInput($hInputTest, '(?i)^\/buy$|^\/buy\s+.*', $hButtonApply)
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND
 
Func _DebugPrint($s_text, $line = @ScriptLineNumber)
    ConsoleWrite( _
            "!===========================================================" & @LF & _
            "+======================================================" & @LF & _
            "-->Line(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _
            "+======================================================" & @LF)
EndFunc   ;==>_DebugPrint
 
;~ $hInput - указатель на Input
;~ $sRegMask - pattern для StringRegExp
;~ $hButton - кнопка, состоние которой необходимо контролировать
Func _CheckInput($hInput, $sRegMask, $hButton)
    Local $sText = GUICtrlRead($hInput)
;~  $sText = StringStripWS($sText, 1+2); если есть желание
    If StringRegExp($sText, $sRegMask) Then
        If BitAnd(GUICtrlGetState($hButton), $GUI_ENABLE) Then GUICtrlSetState($hButton, $GUI_DISABLE)
        Return
    EndIf
    If BitAnd(GUICtrlGetState($hButton), $GUI_DISABLE) Then GUICtrlSetState($hButton, $GUI_ENABLE)
EndFunc

 
 

Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 19:37 30-06-2009 | Исправлено: sproxy, 22:05 30-06-2009
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 2)
Widok (01-06-2010 13:08): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru