Ermittelt das nächste Item nach dem aufgerufenen Item
#include <GuiTreeView.au3>
_GUICtrlTreeView_GetNext ( $hWnd, $hItem )
$hWnd | Control-ID / Handle des Controls |
$hItem | Handle des Items |
Erfolg: | das Handle des nächsten Items |
Fehler: | 0 |
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 - - - - - - - -
_GUICtrlTreeView_GetNextSibling, _GUICtrlTreeView_GetNextVisible, _GUICtrlTreeView_GetPrev
#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