Hi,
ich versuche alles Items eines Treeviews aufzulisten.
Es sollen auch die Subitems aufgelistet werden.
Leider gelingt mir dies nicht so ganz.
Wer hat da Tipps für mich
Spoiler anzeigen
#include <GuiTreeView.au3>
#include <GUIConstantsEx.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
Dim $h = 0
Dim $zurueck = 0
Dim $hNewItem
Global $hGui = GUICreate('TreeView-(Un)Checked-Example', 400, 600)
Global $hTreeView = GUICtrlCreateTreeView(5, 5, 390, 590, BitOR($GUI_SS_DEFAULT_TREEVIEW, $TVS_CHECKBOXES), $WS_EX_CLIENTEDGE)
Global $hRoot = GUICtrlCreateTreeViewItem('Root', $hTreeView)
_GUICtrlTreeView_SetBold($hTreeView, $hRoot)
_GUICtrlTreeView_BeginUpdate($hTreeView)
For $x = 1 To 3
$hItem1 = _GUICtrlTreeView_AddChild($hTreeView, GUICtrlGetHandle($hRoot), StringFormat('[%02d] Child 1st Gen.', $x))
For $y = 1 To 3
$hItem2 = _GUICtrlTreeView_AddChild($hTreeView, $hItem1, StringFormat('[%02d] Child 2nd Gen.', $y))
For $z = 1 To 2
$hItem3 = _GUICtrlTreeView_AddChild($hTreeView, $hItem2, StringFormat('[%02d] Child 3rd Gen.', $z))
Next
Next
Next
_GUICtrlTreeView_EndUpdate($hTreeView)
_GUICtrlTreeView_Expand($hTreeView)
GUISetState()
_auslesen($hTreeView, 0)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _auslesen($hTreeView, $hItem)
Do
If $h = 0 Then
$hItem = _GUICtrlTreeView_GetFirstItem($hTreeView)
ConsoleWrite("Erstes " & _GUICtrlTreeView_GetText($hTreeView, $hItem) & @CRLF)
$h = 1
$hNewItem = $hItem
ElseIf $zurueck = 0 Then
$hNewItem = _GUICtrlTreeView_GetFirstChild($hTreeView, $hItem)
$erstes_kind = $hItem
If $hNewItem Then ConsoleWrite("erstes Kind " & _GUICtrlTreeView_GetText($hTreeView, $hNewItem) & @CRLF)
ElseIf $zurueck = 1 Then
$hNewItem = _GUICtrlTreeView_GetNextSibling($hTreeView, $hItem)
If $hNewItem Then ConsoleWrite("weiteres Kind " & _GUICtrlTreeView_GetText($hTreeView, $hNewItem) & @TAB & @TAB & _GUICtrlTreeView_GetText($hTreeView, $hItem) & @CRLF)
$zurueck = 0
EndIf
If $hNewItem Then
_auslesen($hTreeView, $hNewItem)
Else
$zurueck = 1
$hItem = $erstes_kind
;~ ConsoleWrite(@CRLF & _GUICtrlTreeView_GetText($hTreeView, $hNewItem ) & @CRLF)
EndIf
Until Not $hNewItem
EndFunc ;==>_auslesen
While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd