Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Yashied

Старожил


Сообщения: 206
Благодарности: 88

Профиль | Отправить PM | Цитировать


Можно это сделать более хитрым способом. Здесь можно полностью проанализировать вводимые символы и отредактировать их в случае необходимости. Кроме того, не будет работать Copy - Paste.

Код: Выделить весь код
#Include <GUIConstants.au3>
#Include <EditConstants.au3>
#Include <WindowsConstants.au3>

GUICreate("MyGUI", 300, 50)
$Input = GUICtrlCreateInput("", 15, 15, 270, 19)
GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
GUISetState()

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Func _WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    Switch BitAND($wParam, 0xFFFF)
        Case $Input
            Switch BitShift($wParam, 16)
                Case $EN_CHANGE

                    Local $Data = GUICtrlRead($Input)

                    ; Здесь можно проанализировать строку, и отредактировать ее при необходимости
                    $Data = StringRegExpReplace($Data, "[^0-9]", "")

                    GUICtrlSetData($Input, $Data)
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>_WM_COMMAND
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:50, 21-05-2009 | #3