UDF > GUI > GuiHeader >


_GUICtrlHeader_HitTest

Teste un point pour déterminer quel élément se trouve au point spécifié

#include <GuiHeader.au3>
_GUICtrlHeader_HitTest ( $hWnd, $iX, $iY )

Paramètres

$hWnd Handle du contrôle
$iX Position X à tester
$iY Position Y à tester

Valeur de retour

Retourne un tableau avec le format suivant:
    [0] - Index, compté à partir de 0, de l'élément à la position spécifiée, ou -1 si aucun élément n'a été trouvé
    [1] - Si True, la position est dans la fenêtre client du contrôle, mais pas sur un élément
    [2] - Si True, la position est dans le rectangle de délimitation du contrôle
    [3] - Si True, la position est sur le séparateur entre deux éléments
    [4] - Si True, la position est sur le séparateur d'un élément qui a une largeur de zéro
    [5] - Si True, la position est sur la zone de filtre
    [6] - Si True, la position est sur le bouton de filtre
    [7] - Si True, la position est au-dessus du rectangle de délimitation du contrôle
    [8] - Si True, la position est ci-dessous du rectangle de délimitation du contrôle
    [9] - Si True, la position est à la droite du rectangle de délimitation du contrôle
    [10] - Si True, la position est à la gauche de rectangle de délimitation du contrôle

Exemple

#include <GUIConstantsEx.au3>
#include <GuiHeader.au3>

Global $g_idMemo

Example()

Func Example()
    Local $hGUI, $hHeader, $aHT

    ; Créer GUI
    $hGUI = GUICreate("Header", 400, 300)
    $hHeader = _GUICtrlHeader_Create($hGUI)
    _GUICtrlHeader_SetUnicodeFormat($hHeader, True)
    $g_idMemo = GUICtrlCreateEdit("", 2, 24, 396, 274, 0)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Ajouter des colonnes
    _GUICtrlHeader_AddItem($hHeader, "Column 1", 100)
    _GUICtrlHeader_AddItem($hHeader, "Column 2", 100)
    _GUICtrlHeader_AddItem($hHeader, "Column 3", 100)
    _GUICtrlHeader_AddItem($hHeader, "Column 4", 100)

    ; Fait un test de positionnement sur la colonne 2
    $aHT = _GUICtrlHeader_HitTest($hHeader, 110, 10)
    MemoWrite("Item index ...................: " & $aHT[0])
    MemoWrite("In client window .............: " & $aHT[1])
    MemoWrite("In control rectangle .........: " & $aHT[2])
    MemoWrite("On divider ...................: " & $aHT[3])
    MemoWrite("On zero width divider ........: " & $aHT[4])
    MemoWrite("Over filter area .............: " & $aHT[5])
    MemoWrite("Over filter button ...........: " & $aHT[6])
    MemoWrite("Above bounding rectangle .....: " & $aHT[7])
    MemoWrite("Below bounding rectangle .....: " & $aHT[8])
    MemoWrite("To right of bounding rectangle: " & $aHT[9])
    MemoWrite("To left of bounding rectangle : " & $aHT[10])

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

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