Funktionreferenz


_GUICtrlTreeView_HitTest

Beschreibung anzeigen in

Gibt Informationen über den Ort eines Punktes relativ zu dem Control zurück

#include <GuiTreeView.au3>
_GUICtrlTreeView_HitTest ( $hWnd, $iX, $iY )

Parameter

$hWnd Control-ID / Handle des Controls
$iX zu testende X Position relativ zum Control
$iY zu testende Y Position relativ zum Control

Rückgabewert

Erfolg: Wert der ein Hinweis für das Ergebnis des Hit-Testes ist:
    1 - In der Arbeitsfläche, aber unterhalb des letzten Items.
    2 - Auf dem Bitmap, welches mit einem Item verknüpft ist
    4 - Auf dem Text, welcher mit einem Item verknüpft ist
    8 - In der Einrückung, welche mit einem Item verknüpft ist
    16 - Auf dem Button, welcher mit einem Item verknüpft ist
  32 - Im Bereich rechts von einem Item
  64 - Auf dem Statusicon für ein Item, welches sich in einem benutzerdefinierten Status befindet
 128 - Oberhalb der Arbeitsfläche
 256 - Unterhalb der Arbeitsfläche
 512 - Links von der Arbeitsfläche
1024 - Rechts von der Arbeitsfläche
Fehler: 0

Bemerkungen

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

Verwandte Funktionen

_GUICtrlTreeView_HitTestEx, _GUICtrlTreeView_HitTestItem

Beispiel

#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#include <GuiTreeView.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>

Global $g_hImage, $g_hStateImage

Example()

Func Example()
    GUICreate("TreeView: Gibt Informationen über den Ort eines Punktes (v" & @AutoItVersion & ")", 600, 300)

    Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS)
    Local $idTreeView = GUICtrlCreateTreeView(2, 2, 396, 268, $iStyle, $WS_EX_CLIENTEDGE)
    GUISetState(@SW_SHOW)

    _CreateNormalImageList()
    _GUICtrlTreeView_SetNormalImageList($idTreeView, $g_hImage)

    _CreateStateImageList()
    _GUICtrlTreeView_SetStateImageList($idTreeView, $g_hStateImage)

    _GUICtrlTreeView_BeginUpdate($idTreeView)
    Local $ahItem[10], $aidChildItem[30], $iYItem = 0, $iYRand, $iXRand
    For $x = 0 To 9
        $ahItem[$x] = _GUICtrlTreeView_Add($idTreeView, 0, StringFormat("[%02d] Neues Item", $x), 4, 5)
        _GUICtrlTreeView_SetStateImageIndex($idTreeView, $ahItem[$x], 1)
        For $y = 1 To 3
            $aidChildItem[$iYItem] = _GUICtrlTreeView_AddChild($idTreeView, $ahItem[$x], StringFormat("[%02d] Neues Child", $y), 0, 3)
            _GUICtrlTreeView_SetStateImageIndex($idTreeView, $aidChildItem[$iYItem], 1)
            $iYItem += 1
        Next
    Next
    _GUICtrlTreeView_EndUpdate($idTreeView)

    _GUICtrlTreeView_SelectItem($idTreeView, $ahItem[0])
    _GUICtrlTreeView_SetStateImageIndex($idTreeView, $ahItem[0], 2)

    $iYRand = Random(0, 268, 1)
    $iXRand = Random(0, 396, 1)
    MsgBox($MB_SYSTEMMODAL, "Information", StringFormat("Hit Test (%d, %d): %s", $iXRand, $iYRand, _GetHitString(_GUICtrlTreeView_HitTest($idTreeView, $iXRand, $iYRand))))

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>Example

Func _GetHitString($iResult)
    Switch $iResult
        Case 1
            Return "Im Anwendungsbereich, aber unterhalb des letzten Items"
        Case 2
            Return "Über dem Bild, das mit einem Item verknüpft ist"
        Case 4
            Return "Über dem Text, der mit einem Item verknüpft ist"
        Case 8
            Return "Über der Einrückung, die mit einem Item verknüpft ist"
        Case 16
            Return "Über dem Button, der mit einem Item verknüpft ist"
        Case 32
            Return "Im Bereich rechts neben einem Item"
        Case 64
            Return "Über dem Status-Icon eines Items, das sich in einem benutzerdefinierten Zustand befindet"
        Case 128
            Return "Oberhalb des Anwendungsbereichs"
        Case 256
            Return "Unterhalb des Anwendungsbereichs"
        Case 512
            Return "Links neben dem Anwendungsbereich"
        Case 1024
            Return "Rechts neben dem Anwendungsbereich"
    EndSwitch
EndFunc   ;==>_GetHitString

Func _CreateNormalImageList()
    $g_hImage = _GUIImageList_Create(16, 16, 5, 3)
    _GUIImageList_AddIcon($g_hImage, "shell32.dll", 110)
    _GUIImageList_AddIcon($g_hImage, "shell32.dll", 131)
    _GUIImageList_AddIcon($g_hImage, "shell32.dll", 165)
    _GUIImageList_AddIcon($g_hImage, "shell32.dll", 168)
    _GUIImageList_AddIcon($g_hImage, "shell32.dll", 137)
    _GUIImageList_AddIcon($g_hImage, "shell32.dll", 146)
EndFunc   ;==>_CreateNormalImageList

Func _CreateStateImageList()
    $g_hStateImage = _GUIImageList_Create(16, 16, 5, 3)
    _GUIImageList_AddIcon($g_hStateImage, "shell32.dll", 3)
    _GUIImageList_AddIcon($g_hStateImage, "shell32.dll", 4)
EndFunc   ;==>_CreateStateImageList