Funktionsreferenz

_GUICtrlButton_GetState

Ermittelt den Status eines Buttons oder einer Checkbox

#Include <GuiButton.au3>
_GUICtrlButton_GetState($hWnd)

 

Parameter

$hWnd Handle zu dem Control

 

Rückgabewert

Erfolg: Der aktuelle Status des Buttons. Es können die folgenden Werte verwendet werden, um Informationen über den Status zu ermitteln:
    $BST_CHECKED - gibt an, ob der Button markiert ist.
    $BST_FOCUS - legt den Fokusstatus fest. Ein nonzero Wert gibt an, dass der Button den Tastatur-Fokus besitzt.
    $BST_INDETERMINATE - gibt an, dass der Button ausgegraut ist, weil dessen Status nicht ermittelbar ist.
    Dieser Wert findet nur Anwendung, falls der Button den Stil $BS_3STATE oder $BS_AUTO3STATE aufweist.
    $BST_PUSHED - legt den Status "highlight" fest. Ein nonzero Wert gibt an, das der Button hervorgehoben ist.
    Ein Button ist automatisch hervorgehoben, wenn sich der Cursor über dem Objekt befindet und die linke Maustaste gedrückt hält.
    Das hervorgehobene verschwindet wieder, wenn die Maustaste wieder losgelassen wird.
    $BST_UNCHECKED - gibt an, dass der Button nicht markiert ist. Ebenso bei einem Rückgabewert von 0.

 

Bemerkungen

- - - - - - - - Erklärung der Controls - - - - - - - -

 

Verwandte Funktionen

_GUICtrlButton_SetState, _GUICtrlButton_GetCheck, _GUICtrlButton_SetCheck

 

Siehe auch

Suche in der MSDN Bibliothek nach BM_GETSTATE

 

Beispiel


#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GUIConstantsEx.au3>
#include <GuiButton.au3>
#include <WindowsConstants.au3>

Opt("MustDeclareVars", 1)

Global $iMemo

_Main()

Func _Main()
    Local $rdo, $rdo2, $chk, $chk2, $chk3, $btn, $btn2

    GUICreate("Buttons", 800, 400)
    $iMemo = GUICtrlCreateEdit("", 119, 10, 676, 374, $WS_VSCROLL)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")

    $btn = GUICtrlCreateButton("Button 1", 10, 10, 90, 25)
    _GUICtrlButton_SetState($btn)

    $btn2 = GUICtrlCreateButton("Button 2", 10, 60, 90, 25)

    $rdo = GUICtrlCreateRadio("Radio 1", 10, 110, 90, 25)
    _GUICtrlButton_SetFocus($rdo)

    $rdo2 = GUICtrlCreateRadio("Radio 2", 10, 150, 90, 25)
    _GUICtrlButton_SetCheck($rdo2)

    $chk = GUICtrlCreateCheckbox("Check 1", 10, 195, 90, 25, BitOR($BS_AUTO3STATE, $BS_NOTIFY))
    _GUICtrlButton_SetCheck($chk, $BST_INDETERMINATE)

    $chk2 = GUICtrlCreateCheckbox("Check 2", 10, 240, 90, 25, BitOR($BS_AUTO3STATE, $BS_NOTIFY))

    $chk3 = GUICtrlCreateCheckbox("Check 3", 10, 285, 90, 25, BitOR($BS_AUTO3STATE, $BS_NOTIFY))
    _GUICtrlButton_SetCheck($chk3, $BST_CHECKED)

    GUISetState()

    MemoWrite("Button 1 Status:"& _
            _ExplainState(_GUICtrlButton_GetState($btn), True) &  "--------------------------------" )
    MemoWrite("Button 2 Status:"& _
            _ExplainState(_GUICtrlButton_GetState($btn2), True)  & "--------------------------------" )
    MemoWrite("Radio 1 Status: " & _
            _ExplainState(_GUICtrlButton_GetState($rdo))  & "--------------------------------")
    MemoWrite("Radio 2 Status: " & _
            _ExplainState(_GUICtrlButton_GetState($rdo2)) & "--------------------------------")
    MemoWrite("Check 1 Status: " & _
            _ExplainState(_GUICtrlButton_GetState($chk))  & "--------------------------------")
    MemoWrite("Check 2 Status: "& _
            _ExplainState(_GUICtrlButton_GetState($chk2)) & "--------------------------------" )
    MemoWrite("Check 3 Status: " & _
            _ExplainState(_GUICtrlButton_GetState($chk3)) & "--------------------------------")

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd

    Exit
EndFunc   ;==>_Main

; Gibt eine Zeile im Memo-Fenster aus
Func MemoWrite($sMessage)
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite

Func _ExplainState($iState, $fPushButton = False)
    Local $sText = ""
    If Not $fPushButton And Not $iState Then Return _
            @CRLF & "Der Button ist nicht markiert (gleiches Ergebnis wie Rückgabewert 0)." & @CRLF
    If BitAND($iState, $BST_CHECKED) = $BST_CHECKED Then _
            $sText &= @CRLF & "Der Button ist markiert." & @CRLF
    If BitAND($iState, $BST_FOCUS) = $BST_FOCUS Then _
            $sText &= @CRLF & "Der Button ist fokussiert (ein Wert >< 0 besagt, dass der Button den Eingabefokus hat)." & @CRLF
    If BitAND($iState, $BST_INDETERMINATE) = $BST_INDETERMINATE Then _
            $sText &= @CRLF & "Der Button ist ausgegraut, weil der Status des Buttons unbestimmt ist." & @CRLF
    If $fPushButton Then
        If BitAND($iState, $BST_PUSHED) = $BST_PUSHED Then
            $sText &= @CRLF & "Der Button ist ausgewählt." & @CRLF
        Else
            $sText &= @CRLF & "Der Button ist nicht ausgewählt." & @CRLF
        EndIf
    EndIf
    Return $sText
EndFunc   ;==>_ExplainState