Code : Tout sélectionner
;===============================================================================
; Description: Returns the state of a control.
; Parameter(s): $controlID - ID of the tested control
; $state - The state to test
; $type - get_state or read
; $ErrMsg -
; Requirement(s): None
; Return Value(s): On Success - Returns "TRUE" if the state is true, "FALSE" else
; On Failure - Returns -1 and the error code :
; 1 = $controlID is not a handle
; 2 = $state is not valid
; 3 = $type is not valid
;
; Author(s): tolf
; Note(s):
; Example: _GUICtrlGetStateTrue($ID, "enable", "get_state")
;
;===============================================================================
Func _GUICtrlGetStateTrue($controlID, $state, $type = "get_state")
If Not($state = 0 Or $state = 1 Or $state = 2 Or $state = 4 Or $state = 8 Or $state = 16 Or $state = 32 Or $state = 64 Or $state = 128 Or $state = 256 Or $state = 512 Or $state = 1024 Or $state = 2048 Or $state = 4096 Or $state = 8192) Then ; the state is not valid => see GUIConstantsEx.au3
SetError(2)
Return -1
EndIf
Local $val
Switch $type
Case "get_state"
$val = GUICtrlGetState($controlID)
If $val = -1 Then
SetError(1)
Return -1
EndIf
Case "read"
$val = GUICtrlRead($controlID)
If $val = 0 Then
SetError(1)
Return -1
EndIf
Case Else
SetError(3)
Return -1
EndSwitch
Return BitAnd($val, $state) = $state
EndFunc
; values of states from GUIConstantsEx.au3
;~ $GUI_AVISTOP = 0
;~ $GUI_AVISTART = 1
;~ $GUI_AVICLOSE = 2
;~ $GUI_CHECKED = 1
;~ $GUI_INDETERMINATE = 2
;~ $GUI_UNCHECKED = 4
;~ $GUI_DROPACCEPTED = 8
;~ $GUI_NODROPACCEPTED = 4096
;~ $GUI_ACCEPTFILES = $GUI_DROPACCEPTED ; to be suppressed
;~ $GUI_SHOW = 16
;~ $GUI_HIDE = 32
;~ $GUI_ENABLE = 64
;~ $GUI_DISABLE = 128
;~ $GUI_FOCUS = 256
;~ $GUI_NOFOCUS = 8192
;~ $GUI_DEFBUTTON = 512
;~ $GUI_EXPAND = 1024
;~ $GUI_ONTOP = 2048