Function Reference


_GUIToolTip_GetCurrentTool

Retrieves information for the current tool

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

Parameters

$hWnd Handle to the ToolTip control (returned by _GUIToolTip_Create.)

Return Value

Returns an array with the following format:
    [0] - Comma separated string displaying TTF_ flags used
        TTF_IDISHWND = Indicates that $iID is the window handle to the tool instead of the ID
        TTF_CENTERTIP = Centers the window below the tool specified by $iID
        TTF_RTLREADING = Indicates that text will be displayed in the opposite direction
        TTF_SUBCLASS = Indicates that the control should subclass the tool's window to intercept messages
        TTF_TRACK = Positions the control next to the tool to which it corresponds
        TTF_ABSOLUTE = Positions the window at the same coordinates provided by TTM_TRACKPOSITION
        TTF_TRANSPARENT = Causes the control to forward mouse messages to the parent window
        TTF_PARSELINKS = Indicates that links in the control text should be parsed
    [1] - Handle to the window that contains the tool ($hWnd)
    [2] - Identifier of the tool ($iID)
    [3] - X coordinate of the upper left corner of the rectangle
    [4] - Y coordinate of the upper left corner of the rectangle
    [5] - X coordinate of the lower right corner of the rectangle
    [6] - Y coordinate of the lower right corner of the rectangle
    [7] - Handle to the instance that contains the string resource for the tool
    [8] - Text for the tool
    [9] - Application-defined value associated with the tool

Remarks

The tooltip has to be displaying when this function is called or the returned results will be all zeroes.

Related

_GUIToolTip_EnumTools, _GUIToolTip_GetToolInfo

Example

Example 1

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

Global $g_hToolTip

; Hover over the button on the GUI and press the "g" key to disply the information
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)
        ; create a tooltip control using default settings
        $g_hToolTip = _GUIToolTip_Create(0)

        ; add a tool to the tooltip control
        _GUIToolTip_AddTool($g_hToolTip, 0, "This is a ToolTip", $hButton)
        GUISetState(@SW_SHOW)
        While 1
                If GUIGetMsg() = $GUI_EVENT_CLOSE Then ExitLoop
        WEnd
        ; Destroy the tooltip control
        _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

Example 2

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

Global $g_iPID

; Hover over one of the characters in the Charmap app to get a tooltip to display, then press 'g' to
; retrieve its information.
HotKeySet('g', "_Read_Tip")

Example()

Func Example()
        ; Run character map program
        $g_iPID = Run("charmap.exe")
        ; Wait for it to become the active window
        WinWaitActive("Character Map", "", 10)
        While ProcessExists($g_iPID)
                Sleep(100)
        WEnd
EndFunc   ;==>Example

Func _Read_Tip()
        ; Get list of tooltips
        Local $aTipList = WinList("[CLASS:tooltips_class32]")
        ; See which belong to your app
        For $i = 1 To $aTipList[0][0]
                If WinGetProcess($aTipList[$i][1]) = $g_iPID Then
                        ; See which one is active
                        _GUIToolTip_GetCurrentTool($aTipList[$i][1])
                        ; If one is active then display it
                        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