Clique sur un bouton spécifique en utilisant son index
#include <GuiToolbar.au3>
_GUICtrlToolbar_ClickIndex ( $hWnd, $iIndex [, $sButton = "left" [, $bMove = False [, $iClicks = 1 [, $iSpeed = 1]]]] )
$hWnd | Handle du contrôle barre d'outils |
$iIndex | Index du bouton |
$sButton | [optionnel] Bouton à cliquer |
$bMove | [optionnel] Flag de mouvement de la souris: True - La souris sera déplacée False - La souris ne sera pas déplacée |
$iClicks | [optionnel] Nombre de clics |
$iSpeed | [optionnel] Vitesse de déplacement de la souris |
_GUICtrlToolbar_ClickAccel, _GUICtrlToolbar_ClickButton
#include <GUIConstantsEx.au3> #include <GuiToolbar.au3> #include <WinAPIConstants.au3> #include <WindowsConstants.au3> Global $g_hToolbar, $g_idMemo Global $g_iItem ; Command identifier of the button associated with the notification. Global Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $e_idHelp Example() Func Example() Local $hGUI, $aSize, $aStrings[4] ; Crée une GUI $hGUI = GUICreate("Toolbar", 600, 400) $g_hToolbar = _GUICtrlToolbar_Create($hGUI) $aSize = _GUICtrlToolbar_GetMaxSize($g_hToolbar) $g_idMemo = GUICtrlCreateEdit("", 2, $aSize[1] + 30, 596, 396 - ($aSize[1] + 30), $WS_VSCROLL) GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New") GUISetState(@SW_SHOW) GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY") ; Ajoute des bitmaps système standards _GUICtrlToolbar_AddBitmap($g_hToolbar, 1, -1, $IDB_STD_LARGE_COLOR) ; Ajoute des chaînes $aStrings[0] = _GUICtrlToolbar_AddString($g_hToolbar, "&New") $aStrings[1] = _GUICtrlToolbar_AddString($g_hToolbar, "&Open") $aStrings[2] = _GUICtrlToolbar_AddString($g_hToolbar, "&Save") $aStrings[3] = _GUICtrlToolbar_AddString($g_hToolbar, "&Help") ; Ajoute des boutons _GUICtrlToolbar_AddButton($g_hToolbar, $e_idNew, $STD_FILENEW, $aStrings[0]) _GUICtrlToolbar_AddButton($g_hToolbar, $e_idOpen, $STD_FILEOPEN, $aStrings[1]) _GUICtrlToolbar_AddButton($g_hToolbar, $e_idSave, $STD_FILESAVE, $aStrings[2]) _GUICtrlToolbar_AddButtonSep($g_hToolbar) _GUICtrlToolbar_AddButton($g_hToolbar, $e_idHelp, $STD_HELP, $aStrings[3]) ; Clique le bouton Save en utilisant son accélérateur _GUICtrlToolbar_ClickIndex($g_hToolbar, 2, "left", True) ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE EndFunc ;==>Example ; Ecrit un message dans le contrôle memo Func MemoWrite($sMessage = "") GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1) EndFunc ;==>MemoWrite ; Gestionnaire des événements WM_NOTIFY Func _WM_NOTIFY($hWndGUI, $iMsgID, $wParam, $lParam) #forceref $hWndGUI, $iMsgID, $wParam Local $tNMHDR, $hWndFrom, $iCode, $iNew, $iFlags, $iOld Local $tNMTBHOTITEM $tNMHDR = DllStructCreate($tagNMHDR, $lParam) $hWndFrom = DllStructGetData($tNMHDR, "hWndFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case $g_hToolbar Switch $iCode Case $NM_LDOWN MemoWrite("$NM_LDOWN: Clicked Item: " & $g_iItem & " at index: " & _GUICtrlToolbar_CommandToIndex($g_hToolbar, $g_iItem)) Case $TBN_HOTITEMCHANGE $tNMTBHOTITEM = DllStructCreate($tagNMTBHOTITEM, $lParam) $iOld = DllStructGetData($tNMTBHOTITEM, "idOld") $iNew = DllStructGetData($tNMTBHOTITEM, "idNew") $g_iItem = $iNew $iFlags = DllStructGetData($tNMTBHOTITEM, "dwFlags") If BitAND($iFlags, $HICF_LEAVING) = $HICF_LEAVING Then MemoWrite("$HICF_LEAVING: " & $iOld) Else Switch $iNew Case $e_idNew MemoWrite("$TBN_HOTITEMCHANGE: $e_idNew") Case $e_idOpen MemoWrite("$TBN_HOTITEMCHANGE: $e_idOpen") Case $e_idSave MemoWrite("$TBN_HOTITEMCHANGE: $e_idSave") Case $e_idHelp MemoWrite("$TBN_HOTITEMCHANGE: $idHelp") EndSwitch EndIf EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>_WM_NOTIFY