Modify ↓
Opened 8 years ago
Closed 8 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 8 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