Modify ↓
Opened 7 years ago
Closed 7 years ago
#3585 closed Bug (Fixed)
pb _GUICtrlTreeView_Sort not sorting level 1 treeview -- With Solution
Reported by: | gilles@… | Owned by: | Jpm |
---|---|---|---|
Milestone: | 3.3.15.1 | Component: | AutoIt |
Version: | 3.3.14.2 | Severity: | None |
Keywords: | GUICtrlTreeView_Sort | Cc: |
Description
with deep tree, _GUICtrlTreeView_Sort does not sort it.
Proposed solution : for detail see post
Solution
; #FUNCTION# ==================================================================================================================== ; Author ........: Gary Frost (gafrost) ; Modified.......: mlipok, guinness, gillesg ; Ths time optimized =============================================================================================================================== Func _GUICtrlTreeView_Sort3($hWnd) If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd) Local $iItemCount = _GUICtrlTreeView_GetCount($hWnd) If $iItemCount Then Local $aTreeView[$iItemCount], $i=0 ; get only A child at each level Local $hHandle = _GUICtrlTreeView_GetFirstItem($hWnd) $aTreeView[1]=$hHandle $aTreeView[0]=2 __GUICtrlTreeView_SortGetFirstChild($hWnd, $hHandle, $aTreeView ) redim $aTreeView[$aTreeView[0]] $aTreeView[0]=0 ConsoleWrite(_ArrayToString($aTreeView,@CRLF)&@CRLF) for $i =0 to UBound($aTreeView) -1 _SendMessage($hWnd, $TVM_SORTCHILDREN, 0, $aTreeView[$i], 0, "wparam", "handle") ; Sort the items in root NExt EndIf EndFunc ;==>_GUICtrlTreeView_Sort3 func __GUICtrlTreeView_SortGetFirstChild($hWnd, $hItem, byref $aTreeView) Local $hChild = _GUICtrlTreeView_GetFirstChild($hWnd, $hItem) if $hChild <> 0 then $aTreeView[$aTreeView[0] ]= $hChild $aTreeView[0]+=1 __GUICtrlTreeView_SortGetFirstChild($hWnd,$hChild,$aTreeView) EndIf local $hNext = _GUICtrlTreeView_GetNextSibling($hWnd, $hItem) if $hNext <> 0 then __GUICtrlTreeView_SortGetFirstChild($hWnd,$hnext,$aTreeView) EndFunc
Hope it help
Attachments (0)
Change History (1)
comment:1 Changed 7 years ago by Jpm
- Milestone set to 3.3.15.1
- Owner set to Jpm
- Resolution set to Fixed
- Status changed from new to closed
Guidelines for posting comments:
- You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
- In-depth discussions should take place on the forum.
For more information see the full version of the ticket guidelines here.
Note: See
TracTickets for help on using
tickets.
Fixed by revision [11958] in version: 3.3.15.1