UDF > GUI > GuiButton >


_GUICtrlButton_SetDontClick

Définit l'état du commutateur $BST_DONTCLICK sur un bouton

#include <GuiButton.au3>
_GUICtrlButton_SetDontClick ( $hWnd [, $bState = True] )

Paramètres

$hWnd ID/handle du contrôle
$bState [optionnel] L'état. True pour positionner $BST_DONTCLICK, sinon False

Valeur de retour

Aucune.

Remarque

Windows Vista ou une version ultérieure.

Voir aussi

Consultez BM_SETDONTCLICK dans la librairie MSDN.

Exemple

#include <GuiButton.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $g_hBtn, $g_idMemo, $g_hBtn2

; Notez que le controlID de ces boutons ne peut pas être lu avec GUICtrlRead

Example()

Func Example()
    Local $hGUI

    $hGUI = GUICreate("Buttons", 400, 400)
    $g_idMemo = GUICtrlCreateEdit("", 10, 100, 390, 284, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")

    $g_hBtn = _GUICtrlButton_Create($hGUI, "Button1", 10, 10, 160, 40)
    _GUICtrlButton_SetDontClick($g_hBtn)

    $g_hBtn2 = _GUICtrlButton_Create($hGUI, "Button2", 10, 55, 160, 40)

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

    GUISetState(@SW_SHOW)

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

; Écrit une ligne dans le contrôle mémo
Func MemoWrite($sMessage)
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite

; Gestionnaire de l'événement clic du bouton
Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg
    Local $iNotifyCode = BitShift($wParam, 16)
    Local $iID = BitAND($wParam, 0x0000FFFF)
    Local $hCtrl = $lParam
    Local $sText = ""

    If $hCtrl = $g_hBtn  Or $hCtrl = $g_hBtn2 Then
        Switch $iNotifyCode
            Case $BN_CLICKED
                If BitAND(_GUICtrlButton_GetState($hCtrl), $BST_DONTCLICK) = $BST_DONTCLICK Then
                    $sText = "$BST_DONTCLICK" & @CRLF
                Else
                    $sText = "$BN_CLICKED" & @CRLF
                EndIf
                MemoWrite($sText & _
                        "-----------------------------" & @CRLF & _
                        "WM_COMMAND - Infos:" & @CRLF & _
                        "-----------------------------" & @CRLF & _
                        "Code" & @TAB & ":" & $iNotifyCode & @CRLF & _
                        "CtrlID" & @TAB & ":" & $iID & @CRLF & _
                        "CtrlHWnd:" & $hCtrl & @CRLF & _
                        _GUICtrlButton_GetText($hCtrl) & @CRLF)
            Case $BN_PAINT
                $sText = "$BN_PAINT" & @CRLF
            Case $BN_PUSHED, $BN_HILITE
                $sText = "$BN_PUSHED, $BN_HILITE" & @CRLF
            Case $BN_UNPUSHED, $BN_UNHILITE
                $sText = "$BN_UNPUSHED" & @CRLF
            Case $BN_DISABLE
                $sText = "$BN_DISABLE" & @CRLF
            Case $BN_DBLCLK, $BN_DOUBLECLICKED
                $sText = "$BN_DBLCLK, $BN_DOUBLECLICKED" & @CRLF
            Case $BN_SETFOCUS
                $sText = "$BN_SETFOCUS" & @CRLF
            Case $BN_KILLFOCUS
                $sText = "$BN_KILLFOCUS" & @CRLF
        EndSwitch
        Return 0 ; Seulement pour tester un clic sur le bouton
    EndIf
    ; Traite les commandes des messages internes AutoIt3 par défaut.
    ; Vous pouvez également modifier la ligne.
    ; !!! Mais seulement 'Return' (sans aucune valeur) ne traitera pas
    ; le message AutoIt3 par défaut dans le futur!!!
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND