UDF > GUI > GuiToolTip >


_GUIToolTip_HitTest

Obtient les informations qu'un contrôle info-bulle maintient sur un élément déclencheur

#include <GuiToolTip.au3>
_GUIToolTip_HitTest ( $hWnd, $hTool, $iX, $iY )

Paramètres

$hWnd Handle du contrôle info-bulle (retourné par _GUIToolTip_Create.)
$hTool Handle de la fenêtre qui contient l'élément
$iX Position X à tester
$iY Position Y à tester

Valeur de retour

Retourne un tableau avec le format suivant:
    [0] - Chaîne avec séparateur virgule affichant les flags TTF_* utilisés
        TTF_IDISHWND = Indique que $iID est le handle de la fenêtre de l'élément à la place de l'ID
        TTF_CENTERTIP = Centre la fenêtre au dessous del'élément spécifié par $iID
        TTF_RTLREADING = Indique que le texte sera affiché dans la direction opposée
        TTF_SUBCLASS = Indique que le contrôle doit prendre le dessus sur la fenêtre de l'élément déclencheur pour intercepter les messages
        TTF_TRACK = Positionne le contrôle proche de l'élément déclencheur
        TTF_ABSOLUTE = Positionne la fenêtre aux mêmes coordonnées fournies par TTM_TRACKPOSITION
        TTF_TRANSPARENT = Force le contrôle à transmettre les messages de la souris à la fenêtre parent
        TTF_PARSELINKS = Indique que les liens dans le texte du contrôle doivent être affichés en tant que liens
    [1] - Handle de la fenêtre qui contient l'élément déclencheur($hWnd)
    [2] - Identifiant de l'élément ($iID)
    [3] - Coordonnée X du coin supérieur gauche du rectangle
    [4] - Coordonnée Y du coin supérieur gauche du rectangle
    [5] - Coordonnée X du coin inférieur droit du rectangle
    [6] - Coordonnée Y du coin inférieur droit du rectangle
    [7] - Handle de l'instance qui contient la ressource chaîne pour l'élément
    [8] - Texte de l'élément
    [9] - Valeur définie par l'application associée à l'élément

Remarque

Cette fonction ne peut pas être utilisée lorsque l'élément déclencheur a le flag $TTF_TRACK. _GUIToolTip_HitTest() échouera si $TTF_TRACK n'est pas définie, peu importe si le point à tester est dans le rectangle d'un élément ou pas.

Exemple

#include <GUIConstantsEx.au3>
#include <GUIToolTip.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIIcons.au3>

Global $g_hToolTip, $g_aPos, $g_hAdd

; Appuyez sur g pour afficher les informations de l'info-bulle en cours.
HotKeySet("g", "GetInfo")

Example()

Func Example()
    Local $hGUI = GUICreate(StringTrimRight(@ScriptName, 4), 350, 200)

    Local $idAdd = GUICtrlCreateButton("Button ToolTip", 30, 32, 130, 28)
    $g_hAdd = GUICtrlGetHandle($idAdd)

    $g_hToolTip = _GUIToolTip_Create($hGUI, $TTS_CLOSE + $TTS_BALLOON)

    _GUIToolTip_AddTool($g_hToolTip, 0, "X: " & @TAB & " Y: " & @TAB, $g_hAdd)

    Local $hIcon = _WinAPI_LoadShell32Icon(15)

    _GUIToolTip_SetTitle($g_hToolTip, 'Title', $hIcon)
    GUISetState(@SW_SHOW)
    $g_aPos = MouseGetPos()
    _GUIToolTip_TrackPosition($g_hToolTip, $g_aPos[0] + 10, $g_aPos[1] + 20)
    _GUIToolTip_TrackActivate($g_hToolTip, True, 0, $g_hAdd)
    _GUIToolTip_UpdateTipText($g_hToolTip, 0, $g_hAdd, "X: " & $g_aPos[0] & " Y: " & $g_aPos[1])

    Do
        Sleep(10)
        $g_aPos = MouseGetPos()
        _GUIToolTip_TrackPosition($g_hToolTip, $g_aPos[0] + 10, $g_aPos[1] + 20)
        _GUIToolTip_UpdateTipText($g_hToolTip, 0, $g_hAdd, "X: " & $g_aPos[0] & " Y: " & $g_aPos[1])
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    _GUIToolTip_Destroy($g_hToolTip)
EndFunc   ;==>Example

Func GetInfo()
    Local $aTool = _GUIToolTip_HitTest($g_hToolTip, $g_hAdd, $g_aPos[0], $g_aPos[1])
    MsgBox($MB_SYSTEMMODAL, "Tooltip info", "Flags: " & @TAB & _GUIToolTip_BitsToTTF($aTool[0]) & @CRLF & _
            "HWnd: " & @TAB & $aTool[1] & @CRLF & _
            "ID: " & @TAB & $aTool[2] & @CRLF & _
            "Left X:" & @TAB & $aTool[3] & @CRLF & _
            "Left Y:" & @TAB & $aTool[4] & @CRLF & _
            "Right X:" & @TAB & $aTool[5] & @CRLF & _
            "Right Y:" & @TAB & $aTool[6] & @CRLF & _
            "Instance:" & @TAB & $aTool[7] & @CRLF & _
            "Text:" & @TAB & $aTool[8] & @CRLF & _
            "lParam:" & @TAB & $aTool[9])
EndFunc   ;==>GetInfo