Sets the highlight state of a button. The highlight state indicates whether the button is highlighted as if the user had pushed it
#include <GuiButton.au3>
_GUICtrlButton_SetState ( $hWnd [, $bHighlighted = True] )
$hWnd | Control ID/Handle to the control |
$bHighlighted | [optional] Specifies whether the button is highlighted. |
Highlighting affects only the appearance of a button. It has no effect on the check state of a radio button or check box.
A button is automatically highlighted when the user positions the cursor over it and presses and holds the left mouse button.
The highlighting is removed when the user releases the mouse button.
_GUICtrlButton_GetState, _GUICtrlButton_SetCheck
Search BM_SETSTATE in MSDN Library.
#include <GuiButton.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $g_idMemo
Example()
Func Example()
Local $idRdo, $idRdo2, $idChk, $idChk2, $idChk3, $idBtn, $idBtn2
GUICreate("Buttons", 400, 400)
$g_idMemo = GUICtrlCreateEdit("", 119, 10, 276, 374, $WS_VSCROLL)
GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
$idBtn = GUICtrlCreateButton("Button1", 10, 10, 90, 25)
_GUICtrlButton_SetState($idBtn)
$idBtn2 = GUICtrlCreateButton("Button2", 10, 60, 90, 25)
$idRdo = GUICtrlCreateRadio("Radio1", 10, 110, 90, 25)
_GUICtrlButton_SetFocus($idRdo)
$idRdo2 = GUICtrlCreateRadio("Radio2", 10, 170, 90, 25)
_GUICtrlButton_SetCheck($idRdo2)
$idChk = GUICtrlCreateCheckbox("Check1", 10, 230, 90, 25, BitOR($BS_AUTO3STATE, $BS_NOTIFY))
_GUICtrlButton_SetCheck($idChk, $BST_INDETERMINATE)
$idChk2 = GUICtrlCreateCheckbox("Check2", 10, 290, 90, 25, BitOR($BS_AUTO3STATE, $BS_NOTIFY))
$idChk3 = GUICtrlCreateCheckbox("Check3", 10, 350, 90, 25, BitOR($BS_AUTO3STATE, $BS_NOTIFY))
_GUICtrlButton_SetCheck($idChk3, $BST_CHECKED)
GUISetState(@SW_SHOW)
MemoWrite("Button1 status:" & @CRLF & "--------------------------------" & _
_ExplainState(_GUICtrlButton_GetState($idBtn), True))
MemoWrite("Button2 status:" & @CRLF & "--------------------------------" & _
_ExplainState(_GUICtrlButton_GetState($idBtn2), True))
MemoWrite("Radio1 status: " & @CRLF & "--------------------------------" & _
_ExplainState(_GUICtrlButton_GetState($idRdo)))
MemoWrite("Radio2 status: " & @CRLF & "--------------------------------" & _
_ExplainState(_GUICtrlButton_GetState($idRdo2)))
MemoWrite("Check1 status: " & @CRLF & "--------------------------------" & _
_ExplainState(_GUICtrlButton_GetState($idChk)))
MemoWrite("Check2 status: " & @CRLF & "--------------------------------" & _
_ExplainState(_GUICtrlButton_GetState($idChk2)))
MemoWrite("Check3 status: " & @CRLF & "--------------------------------" & _
_ExplainState(_GUICtrlButton_GetState($idChk3)))
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
Exit
EndFunc ;==>Example
; Write a line to the memo control
Func MemoWrite($sMessage)
GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite
Func _ExplainState($iState, $bPushButton = False)
Local $sText = ""
If Not $bPushButton And Not $iState Then Return _
@CRLF & "Indicates the button is cleared. Same as a return value of zero." & @CRLF
If BitAND($iState, $BST_CHECKED) = $BST_CHECKED Then _
$sText &= @CRLF & "Indicates the button is checked." & @CRLF
If BitAND($iState, $BST_FOCUS) = $BST_FOCUS Then _
$sText &= @CRLF & "Specifies the focus state. A nonzero value indicates that the button has the keyboard focus." & @CRLF
If BitAND($iState, $BST_INDETERMINATE) = $BST_INDETERMINATE Then _
$sText &= @CRLF & "Indicates the button is grayed because the state of the button is indeterminate." & @CRLF
If $bPushButton Then
If BitAND($iState, $BST_PUSHED) = $BST_PUSHED Then
$sText &= @CRLF & "Specifies the highlight state." & @CRLF
Else
$sText &= @CRLF & "Specifies not highlighted state." & @CRLF
EndIf
EndIf
Return $sText
EndFunc ;==>_ExplainState