Function Reference


_GUIToolTip_GetBubbleSize

Returns the width and height of a ToolTip control

#include <GuiToolTip.au3>
_GUIToolTip_GetBubbleSize ( $hTool, $hWnd, $iID [, $iFlags = Default] )

Parameters

$hTool Handle to the ToolTip control (returned by _GUIToolTip_Create.)
$hWnd Handle to the window that contains the tool
$iID Handle of the control that the tool is associated with, or the ID of the tool
$iFlags [optional] Flags that control the ToolTip display
    $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
Default = BitOr($TTF_SUBCLASS, $TTF_IDISHWND)

Return Value

Success: the width of the ToolTip in the low word and the height in the high word.
Failure: @error is set (see remark).

Remarks

If $hWnd referenced control is not in the same process and both processes run in different AutoIt mode (@AutoItVersion), the @error is set to 6.

This function works correctly only on a tracking tooltip, if the tracking hasn't been activated for the tooltip you will get incorrect values returned.

Related

_GUIToolTip_GetBubbleHeight, _GUIToolTip_GetBubbleWidth

Example

Example 1

#include "Extras\HelpFileInternals.au3"

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

Example()

Func Example()
    Local $hGUI = GUICreate("ToolTip Get Bubble Size/Height/Width v(" & @AutoItVersion & ")", 430, 300, 100, 100)

    ; create a tooltip control using default settings
    Local $hToolTip = _GUIToolTip_Create(0)
    _MemoSetHandleInProcess($hToolTip)

    Local $idButton = GUICtrlCreateButton("Button", 30, 32, 130, 28)
    Local $hButton = GUICtrlGetHandle($idButton)

;~  $hGUI = 0 ; is OK
    ; add a tool to the tooltip control
    _GUIToolTip_AddTool($hToolTip, $hGUI, "This is a ToolTip", $hButton)

    GUISetState(@SW_SHOW)

    ; Show the tooltip associated with the button
    Opt("MouseCoordMode", 2)
    MouseMove(50, 42, 0)
    Sleep(250)

    Local $iSize = _GUIToolTip_GetBubbleSize($hToolTip, $hGUI, $hButton)
    Local $iBubbleHeight = _GUIToolTip_GetBubbleHeight($hToolTip, $hGUI, $hButton)
    Local $iBubbleWidth = _GUIToolTip_GetBubbleWidth($hToolTip, $hGUI, $hButton)

    ; Display the height of the tooltip bubble in pixels
    _MemoMsgBox($MB_SYSTEMMODAL, "Information", "Bubble Size = " & @TAB & "0x" & Hex($iSize) & @CRLF & _
            "Bubble Height = " & @TAB & $iBubbleHeight & " " & " Pixels" & @CRLF & _
            "Bubble Width = " & @TAB & $iBubbleWidth & " Pixels")

    While 1
        If GUIGetMsg() = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

    ; Destroy the tooltip control
    _MemoResetHandleInProcess($hTooltip)
    _GUIToolTip_Destroy($hToolTip)
    GUIDelete($hGUI)
EndFunc   ;==>Example

Example (OutProcess) : ToolTip Get Bubble Size to an External process

#include "Extras\HelpFileInternals.au3"

#include <GUIToolTip.au3>

Example()

Func Example()
    Local $sFromTo
    Local $hWin = _MemoRunAU3OutProcess($sFromTo, True) ; OK same mode, KO if different mode
    _MemoCreateOutProcess($hWin, "Button", 1, $sFromTo)

    Local $hToolTip = _MemoGetHandleInProcess()
    Local $hButton = _MemoCreateOutProcess($hWin, "Button", 0, $sFromTo)

    Local $iSize = _GUIToolTip_GetBubbleSize($hToolTip, $hWin, $hButton)
    Local $iBubbleHeight = _GUIToolTip_GetBubbleHeight($hToolTip, $hWin, $hButton)
    Local $iBubbleWidth = _GUIToolTip_GetBubbleWidth($hToolTip, $hWin, $hButton)
    If @error Then
        _MemoMsgBox($MB_ICONERROR, "Info" & $sFromTo, "_GUIToolTip_GetBubbleSize()" & " @error = " & @error & @CRLF & _
                @TAB & "cannot be enumerated from an external process" & @CRLF & _
                @TAB & "running in different mode")
    Else
        ; Display the height of the tooltip bubble in pixels
        _MemoMsgBox($MB_SYSTEMMODAL, "Information", "Bubble Size = " & @TAB & "0x" & Hex($iSize) & @CRLF & _
                "Bubble Height = " & @TAB & $iBubbleHeight & " " & " Pixels" & @CRLF & _
                "Bubble Width = " & @TAB & $iBubbleWidth & " Pixels")
    EndIf

    _MemoMsgBoxStatus("", Default, $hWin) ; no more action, wait GUI for closing, close also OutProcess GUI

EndFunc   ;==>Example