Показать полную графическую версию : [решено] Как проверить Checkbox, как в Input писать только определенные символы
leprecon
21-05-2009, 18:52
1.Как проверить положение чекбокса? (стоит галочка или нет)
Например есть список серверов которые нужно пропинговать, я наставил на нужных галки, и как мне скриптом определить на каких чекбоксах стоят галки и пропинговать только их?
2.Как сделать так чтобы в строке ввода можно было писать только определенные символы? (цифры)
P.S. Вроде autoIt похож на С++, вот хочу спросить С++ намного сложнее чем autoIT?
Как проверить положение чекбокса? (стоит галочка или нет) »
If BitAND(GUICtrlRead($iCtrlID), $GUI_CHECKED) Then ...
Или
If ControlCommand("Title", "", "CtrlClassName", "IsChecked") Then ...
Как сделать так чтобы в строке ввода можно было писать только определенные символы? (цифры) »
Если именно цифры, то есть для этого стиль $ES_NUMBER.
Можно это сделать более хитрым способом. Здесь можно полностью проанализировать вводимые символы и отредактировать их в случае необходимости. Кроме того, не будет работать 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
leprecon
21-05-2009, 21:57
Но все таки способ Creat0R попроще будет. Но все равно спасибо. :)
А почему ты говоришь что не будет копирование работать? Только что проверил, прекрасно копируется и вставляется...
А почему ты говоришь что не будет копирование работать? Только что проверил, прекрасно копируется и вставляется... »
Я имел в виду, что при использовании $ES_NUMBER, любой текст можно вставить банальным копированием.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.