Modify ↓
Opened 16 years ago
Closed 16 years ago
#495 closed Bug (Fixed)
_GUICtrlTreeView_GetTree returns only 1 parent
Reported by: | anonymous | Owned by: | Gary |
---|---|---|---|
Milestone: | 3.2.13.8 | Component: | Standard UDFs |
Version: | 3.2.12.1 | Severity: | None |
Keywords: | Cc: |
Description
_GUICtrlTreeView_GetTree sould return the whole treeview-structure for an item, but it returns just the first parent: PARENT|ITEM
This happen, because the line
Until $hItem <> 0x00000000
should be
Until $hItem = 0x00000000
The corrected function:
; #FUNCTION# ==================================================================================================================== ; Name...........: _GUICtrlTreeView_GetTree ; Description ...: Retrieve all items text ; Syntax.........: _GUICtrlTreeView_GetTree($hWnd, $hItem) ; Parameters ....: $hWnd - Handle to the control ; $hItem - item ID/handle ; Return values .: Success - Tree Path of Item ; Failure - Empty string ; Author ........: Gary Frost (gafrost), Holger Kotsch ; Modified.......: Gary Frost (gafrost) ; Remarks .......: Use Opt("GUIDataSeparatorChar", param) to change the separator char used ; If $hItem is 0 then an attempt to use current selected is used ; Related .......: ; Link ..........; ; Example .......; Yes ; =============================================================================================================================== Func _GUICtrlTreeView_GetTree($hWnd, $hItem = 0) If $Debug_TV Then _GUICtrlTreeView_ValidateClassName($hWnd) If $hItem = 0 Then $hItem = 0x00000000 Else If Not IsHWnd($hItem) Then $hItem = _GUICtrlTreeView_GetItemHandle($hWnd, $hItem) EndIf If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd) Local $szPath = "", $hParent, $sSeparator = Opt("GUIDataSeparatorChar") If $hItem = 0x00000000 Then $hItem = _SendMessage($hWnd, $TVM_GETNEXTITEM, $TVGN_CARET, 0, 0, "wparam", "hwnd", "hwnd") If $hItem <> 0x00000000 Then $szPath = _GUICtrlTreeView_GetText($hWnd, $hItem) Do; Get now the parent item handle if there is one $hParent = _SendMessage($hWnd, $TVM_GETNEXTITEM, $TVGN_PARENT, $hItem, 0, "wparam", "hwnd", "hwnd") If $hParent <> 0x00000000 Then $szPath = _GUICtrlTreeView_GetText($hWnd, $hParent) & $sSeparator & $szPath $hItem = $hParent Until $hItem = 0x00000000 EndIf Return $szPath EndFunc ;==>_GUICtrlTreeView_GetTree
Attachments (0)
Change History (3)
comment:1 Changed 16 years ago by Prog@…
comment:2 Changed 16 years ago by TicketCleanup
- Milestone 3.2.13.7 deleted
- Severity changed from Blocking to None
Automatic ticket cleanup.
comment:3 Changed 16 years ago by Gary
- Milestone set to 3.2.13.8
- Resolution set to Fixed
- Status changed from new to closed
Fixed in version: 3.2.13.8
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.
Forgot to change name ...