Funktionreferenz


_GUIToolTip_HitTest

Beschreibung anzeigen in

Ermittelt über die Informationen, die ein ToolTip-Control über ein Tool enthält, ob sich ein Koordinatenpunkt innerhalb des Tooltip-Rechtecks befindet

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

Parameter

$hWnd Handle des Controls (welches von _GUIToolTip_Create zurückgegeben wird.)
$hTool Handle zum Fenster welches das Tool enthält
$iX zu testende X-Position
$iY zu testende Y-Position

Rückgabewert

Erfolg: Array mit dem folgenden Format:
    [0] - kommaseparierter String welcher die enthaltenen $TTF_-Flags beinhaltet
      $TTF_IDISHWND = Zeigt an, dass $iID ist das Fenster Handle des Tools anstatt der ID
      $TTF_CENTERTIP = Zentriert das Fenster, zugehörig zu dem durch $iID festgelegten Tool
      $TTF_RTLREADING = Zeigt an, dass der Text in umgekehrter Richtung angezeigt werden soll
      $TTF_SUBCLASS - Zeigt an, dass das Control das Fenster des Tool unterklassifizieren soll um Nachrichten abzufangen
      $TTF_TRACK - Positioniert das Control neben dem zugehörigen Tool
      $TTF_ABSOLUTE - Positioniert das Fenster bei den gleichen Koordinaten wie $TTM_TRACKPOSITION
      $TTF_TRANSPARENT - Sorgt dafür, dass das Control die Nachrichten an das Elternfenster weiterleitet
      $TTF_PARSELINKS - Zeigt an, dass Links im Control Text ausgegliedert werden sollen
    [1] - Handle zum Fenster welches das Tool enthält ($hWnd)
    [2] - ID des Tools ($iID)
    [3] - X Koordinate der oberen linken Ecke des Rechtecks
    [4] - Y Koordinate der oberen linken Ecke des Rechtecks
    [5] - X Koordinate der unteren rechten Ecke des Rechtecks
    [6] - Y Koordinate der unteren rechten Ecke des Rechtecks
    [7] - Handle zu der Instanz welche die Stringressource für das Tool enthält
    [8] - Text für das Tool
    [9] - anwendungsspezifischer Wert der mit dem Tool verknüpft ist

Bemerkungen

Diese Nachricht muss gesendet werden, wenn das Tool das Flag $TTF_TRACK gesetzt hat.
_GUIToolTip_HitTest() schlägt fehl, wenn $TTF_TRACK nicht gesetzt ist, unabhängig davon, ob der "Hit" Punkt sich im Rechteck des Tools befindet oder nicht.

- - - - - - - - Erklärung der Controls - - - - - - - -

Beispiel

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

Global $g_hToolTip, $g_aPos, $g_hAdd

; Press g to display the current tooltip information.
HotKeySet("g", "GetInfo")

Example()

Func Example()
    Local $hGUI = GUICreate(StringTrimRight(@ScriptName, StringLen(".exe")), 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])
    While 1
        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])
        If GUIGetMsg() = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    _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