# Function Reference

# _GUICtrlTreeView_GetPrev

Retrieves the previous item before the calling item

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

## Parameters

$hWnd | Control ID/Handle to the control
$hItem | Handle to the item

## Return Value

Success: | the handle of the previous item.
Failure: | 0.

## Remarks

If the calling item is the first item _GUICtrlTreeView_GetPrev() returns 0, otherwise it will return the previous item including items that aren't visible and child items.
To get the previous item at the same level as the calling item use _GUICtrlTreeView_GetPrevChild().
To get the previous visible item, use _GUICtrlTreeView_GetPrevVisible().

## Related

_GUICtrlTreeView_GetNext, _GUICtrlTreeView_GetPrevChild, _GUICtrlTreeView_GetPrevVisible

## Example

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

    Example()

    Func Example()
        GUICreate("TreeView Get Prev (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)

        ; Set ANSI format
    ;~     _GUICtrlListView_SetUnicodeFormat($idListview, False)

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

        Local $iRand = Random(0, 9, 1)
        MsgBox($MB_SYSTEMMODAL, "Information", StringFormat("Prev from Index %d: %s", $iRand, _GUICtrlTreeView_GetPrev($idTreeView, $aidTVi_Item[$iRand])))
        _GUICtrlTreeView_SelectItem($idTreeView, _GUICtrlTreeView_GetPrev($idTreeView, $aidTVi_Item[$iRand]))

        ; Loop until the user exits.
        Do
        Until GUIGetMsg() = $GUI_EVENT_CLOSE
        GUIDelete()
    EndFunc   ;==>Example