id summary reporter owner description type status milestone component version severity resolution keywords cc 2560 UDF - GuiTreeView.au3 - _GUICtrlTreeView_Sort - proposal 2 mlipok guinness "it is continuation to: http://www.autoitscript.com/trac/autoit/ticket/2554 now _GUICtrlTreeView_Sort contains: {{{ Func _GUICtrlTreeView_Sort($hWnd) If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd) Local $iItemCount = _GUICtrlTreeView_GetCount($hWnd) If $iItemCount Then Local $aTreeView[$iItemCount], $hItem = 0 For $i = 0 To $iItemCount - 1 If $i Then $hItem = _SendMessage($hWnd, $TVM_GETNEXTITEM, $TVGN_NEXT, $hItem, 0, ""wparam"", ""handle"", ""handle"") Else $hItem = _SendMessage($hWnd, $TVM_GETNEXTITEM, $TVGN_CHILD, $TVI_ROOT, 0, ""wparam"", ""handle"", ""handle"") EndIf $aTreeView[$i] = $hItem Next Local $hChild = 0, $iRecursive = 1 For $i = 0 To UBound($aTreeView) - 1 _SendMessage($hWnd, $TVM_SORTCHILDREN, $iRecursive, $aTreeView[$i], 0, ""wparam"", ""handle"") ; Sort the items in root Do ; Sort all child items $hChild = _SendMessage($hWnd, $TVM_GETNEXTITEM, $TVGN_CHILD, $hItem, 0, ""wparam"", ""handle"", ""handle"") If $hChild Then _SendMessage($hWnd, $TVM_SORTCHILDREN, $iRecursive, $hChild, 0, ""wparam"", ""handle"") EndIf $hItem = $hChild Until $hItem = 0x00000000 Next EndIf EndFunc ;==>_GUICtrlTreeView_Sort }}} why You use: {{{ For $i = 0 To UBound($aTreeView) - 1 }}} IMHO easier and faster way: {{{ For $i = 0 To $iItemCount - 1 }}} " Feature Request closed 3.3.9.26 Standard UDFs None Fixed