Détermine où un point spécifié se trouve dans le contrôle
#include <GuiToolbar.au3>
_GUICtrlToolbar_HitTest ( $hWnd, $iX, $iY )
$hWnd | Handle du contrôle barre d'outils |
$iX | Position X du point à tester |
$iY | Position Y du point à tester |
Succès: | Retourne une valeur positive ou nulle, qui est l'index, de base 0, de l'élément non-séparateur dans lequel le point se trouve. |
Échec: | Retourne une valeur négative, le point ne se situe pas dans un bouton. |
La valeur absolue de la valeur de retour est l'index d'un élément séparateur ou l'élément non-séparateur le plus proche.
#include <GUIConstantsEx.au3> #include <GuiToolbar.au3> #include <WinAPIConstants.au3> #include <WindowsConstants.au3> Global $g_idMemo Example() Func Example() Local $hGUI, $hToolbar, $aRect, $iHit, $aStrings[4] Local Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $idHelp ; Crée une GUI $hGUI = GUICreate("Toolbar", 400, 300) $hToolbar = _GUICtrlToolbar_Create($hGUI) $g_idMemo = GUICtrlCreateEdit("", 2, 36, 396, 262, $WS_VSCROLL) GUICtrlSetFont($g_idMemo, 10, 400, 0, "Courier New") GUISetState(@SW_SHOW) ; Ajoute des bitmaps système standards Switch _GUICtrlToolbar_GetBitmapFlags($hToolbar) Case 0 _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_SMALL_COLOR) Case 2 _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR) EndSwitch ; Ajoute des chaînes $aStrings[0] = _GUICtrlToolbar_AddString($hToolbar, "&New Button") $aStrings[1] = _GUICtrlToolbar_AddString($hToolbar, "&Open Button") $aStrings[2] = _GUICtrlToolbar_AddString($hToolbar, "&Save Button") $aStrings[3] = _GUICtrlToolbar_AddString($hToolbar, "&Help Button") ; Ajoute des boutons _GUICtrlToolbar_AddButton($hToolbar, $e_idNew, $STD_FILENEW, $aStrings[0]) _GUICtrlToolbar_AddButton($hToolbar, $e_idOpen, $STD_FILEOPEN, $aStrings[1]) _GUICtrlToolbar_AddButton($hToolbar, $e_idSave, $STD_FILESAVE, $aStrings[2]) _GUICtrlToolbar_AddButtonSep($hToolbar) _GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP, $aStrings[3]) ; Fait un test de positionnement sur le bouton Save $aRect = _GUICtrlToolbar_GetButtonRect($hToolbar, $e_idSave) $iHit = _GUICtrlToolbar_HitTest($hToolbar, $aRect[0], $aRect[1]) MemoWrite(StringFormat("Hit test at %d, %d = %d", $aRect[0], $aRect[1], $iHit)) ; 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