Etrangement je n'ai pas trouvé une fonction TreeViewToArray, ni dans GUITreeview.au3 ni sur les forums. Je poste donc ici une version pour ceux qui, comme moi, pourraient en avoir l'utilité.
Cette fonction parcours une treeview et génère un tableau avec une ligne par item et une colonne par niveau.
Func TreeViewToArray($idTreeView)
Local $count = _GUICtrlTreeView_GetCount($idTreeView)
Local $level
Local $item = _GUICtrlTreeView_GetFirstItem($idTreeView)
Local $max = 1
Local $result[$count][$max]
For $i = 0 to $count-1
$level = _GUICtrlTreeView_Level($idTreeView,$item) +1
If $level > $max Then
$max = $level
ReDim $result[$count][$max]
EndIf
$tmp = StringSplit(_GUICtrlTreeView_GetTree($idTreeView,$item), "|")
For $j = 1 to $tmp[0]
$result[$i][$j-1] = $tmp[$j]
Next
$item = _GUICtrlTreeView_GetNext($idTreeView,$item)
Next
Return $result
EndFunc
Local $count = _GUICtrlTreeView_GetCount($idTreeView)
Local $level
Local $item = _GUICtrlTreeView_GetFirstItem($idTreeView)
Local $max = 1
Local $result[$count][$max]
For $i = 0 to $count-1
$level = _GUICtrlTreeView_Level($idTreeView,$item) +1
If $level > $max Then
$max = $level
ReDim $result[$count][$max]
EndIf
$tmp = StringSplit(_GUICtrlTreeView_GetTree($idTreeView,$item), "|")
For $j = 1 to $tmp[0]
$result[$i][$j-1] = $tmp[$j]
Next
$item = _GUICtrlTreeView_GetNext($idTreeView,$item)
Next
Return $result
EndFunc