Funktionreferenz


_GUICtrlTreeView_GetNext

Beschreibung anzeigen in

Ermittelt das nächste Item nach dem aufgerufenen Item

#include <GuiTreeView.au3>
_GUICtrlTreeView_GetNext ( $hWnd, $hItem )

Parameter

$hWnd Control-ID / Handle des Controls
$hItem Handle des Items

Rückgabewert

Erfolg: das Handle des nächsten Items
Fehler: 0

Bemerkungen

Falls das aufgerufene Item das letzte Item ist, wird _GUICtrlTreeView_GetNext() 0 zurückgeben. Sonst wird das nächste Item einschließlich Items die unsichtbar sind und Child-Items zurückgeben.
Um das nächste Item auf der gleichen Ebene wie das aufgerufene Item zu erhalten ist _GUICtrlTreeView_GetNextSibling() zu verwenden.
Um das nächste sichtbare Item zu erhalten ist _GUICtrlTreeView_GetNextVisible() zu verwenden.

Mit dieser Funktion ist es unter anderem möglich alle Items eines Treeviewes durchzugehen.
Dazu muss die Treeview nicht aufgeklappt sein.
Die Items werden von oben nach unten der Reihe nach durchgegangen. Dies geschieht unabhängig von den unterschiedlichen Ebenen auf der sich die Items befinden.

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

Verwandte Funktionen

_GUICtrlTreeView_GetNextSibling, _GUICtrlTreeView_GetNextVisible, _GUICtrlTreeView_GetPrev

Beispiel

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

Example()

Func Example()
    GUICreate("TreeView: Nächstes Item ermitteln (v" & @AutoItVersion & ")", 400, 300)

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

    _GUICtrlTreeView_BeginUpdate($idTreeView)
    Local $aidItem[10]
    For $x = 0 To 3
        $aidItem[$x] = GUICtrlCreateTreeViewItem(StringFormat("[%02d] Neues Item", $x), $idTreeView)
        For $y = 1 To Random(2, 10, 1)
            GUICtrlCreateTreeViewItem(StringFormat("[%02d] Neues Child", $y), $aidItem[$x])
        Next
    Next
    $aidItem[4] = GUICtrlCreateTreeViewItem(StringFormat("[%02d] Neues Item", 4), $idTreeView)
    For $x = 5 To 9
        $aidItem[$x] = GUICtrlCreateTreeViewItem(StringFormat("[%02d] Neues Item", $x), $idTreeView)
        For $y = 1 To Random(2, 10, 1)
            GUICtrlCreateTreeViewItem(StringFormat("[%02d] Neues Child", $y), $aidItem[$x])
        Next
    Next
    _GUICtrlTreeView_EndUpdate($idTreeView)

    MsgBox($MB_SYSTEMMODAL, "Information", "Index 2, Nächstes: " & _GUICtrlTreeView_GetNext($idTreeView, $aidItem[2]))
    _GUICtrlTreeView_SelectItem($idTreeView, _GUICtrlTreeView_GetNext($idTreeView, $aidItem[2]))

    MsgBox($MB_SYSTEMMODAL, "Information", "Index 4, Nächstes: " & _GUICtrlTreeView_GetNext($idTreeView, $aidItem[4]))
    _GUICtrlTreeView_SelectItem($idTreeView, _GUICtrlTreeView_GetNext($idTreeView, $aidItem[4]))

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