UDF > GUI > GuiToolTip >


_GUIToolTip_GetCurrentTool

Obtient des informations sur l'élément déclencheur en cours

#include <GuiToolTip.au3>
_GUIToolTip_GetCurrentTool ( $hWnd )

Paramètre

$hWnd Handle du contrôle info-bulle (retourné par _GUIToolTip_Create.)

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

L'info-bulle doit être affichée lorsque cette fonction est appelée ou les résultats retournés seront tous des zéros.

En relation

_GUIToolTip_EnumTools, _GUIToolTip_GetToolInfo

Exemples

Exemple 1

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

Global $g_hToolTip

; Survolez le bouton sur la GUI et appuyez sur la touche "g" pour afficher les informations
HotKeySet("g", "Get_Tool")

Example()

Func Example()
    Local $hGUI = GUICreate(StringTrimRight(@ScriptName, StringLen(".exe")), 350, 200)

    Local $idButton = GUICtrlCreateButton("Button ToolTip", 30, 32, 130, 28)
    Local $hButton = GUICtrlGetHandle($idButton)
    ; Crée un contrôle info-bulle avec les paramètres par défaut
    $g_hToolTip = _GUIToolTip_Create(0)

    ; Ajoute un élément au contrôle info-bulle
    _GUIToolTip_AddTool($g_hToolTip, 0, "This is a ToolTip", $hButton)
    GUISetState(@SW_SHOW)
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Détruit le contrôle info-bulle
    _GUIToolTip_Destroy($g_hToolTip)
    GUIDelete($hGUI)
EndFunc   ;==>Example

Func Get_Tool()
    Local $aTool = _GUIToolTip_GetCurrentTool($g_hToolTip)
    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   ;==>Get_Tool

Exemple 2

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

Global $g_iPID

; Survolez l'un des caractères dans l'application Table des caractères de Windows pour obtenir une info-bulle à afficher,
; puis appuyez sur 'g' pour récupérer ses informations.
HotKeySet('g', "_Read_Tip")

Example()

Func Example()
    ; Exécute le programme Table des caractères
    $g_iPID = Run("charmap.exe")
    ; Attend que la fenêtre soit active
    WinWaitActive("Character Map", "", 10)
    While ProcessExists($g_iPID)
        Sleep(100)
    WEnd
EndFunc   ;==>Example

Func _Read_Tip()
    ; Obtient la liste des éléments déclencheurs
    Local $aTipList = WinList("[CLASS:tooltips_class32]")
    ; Regarde qui appartient à l'application
    For $i = 1 To $aTipList[0][0]
        If WinGetProcess($aTipList[$i][1]) = $g_iPID Then
            ; Regarde lequel est actif
            _GUIToolTip_GetCurrentTool($aTipList[$i][1])
            ; Si un est actif alors l'affiche
            Local $aTool = _GUIToolTip_GetCurrentTool($aTipList[$i][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])
        EndIf
    Next
EndFunc   ;==>_Read_Tip