![]() |
Re: nonVCL Treeview rekursiv durchgehen
Zitat:
|
Re: nonVCL Treeview rekursiv durchgehen
Hi,
Delphi-Quellcode:
Um zu sehen, ob die Funktion alle Items ausliest, habe ich den Text der Items in einer TListbox angezeigt.
procedure DoClear(Tree: THandle; Item: HTREEITEM; Code: Integer);
var tvi: TTVItem; ItemText: String[255]; begin while Assigned(Item) do begin ZeroMemory(@tvi, sizeof(TTVItemW)); tvi.hItem := Item; tvi.mask := TVIF_PARAM or TVIF_TEXT or TVIF_CHILDREN; tvi.pszText := @ItemText[1]; tvi.cchTextMax := sizeof(ItemText); CommCtrl.TreeView_GetItem(Tree, tvi); Form1.ListBox1.Items.Add(tvi.pszText); //if Assigned(TObject(tvi.lParam)) then //TObject(tvi.lParam).Free; // if tvi.cChildren > 0 then DoClear(Tree, Treeview_GetNextItem(Tree, Item, TVGN_CHILD), 0); Item := TreeView_GetNextItem(Tree, Item, TVGN_NEXT); end; end; procedure TForm1.Button1Click(Sender: TObject); var hTVItem: HTREEITEM; begin hTVItem := TreeView_GetRoot(Tv.Handle); DoClear(Tv.Handle, hTVItem , 0); end; Der Code sollte auch für non VCL gehen, das Problem ist nur, dass ich TTreeview genommen habe und dieser es nicht so gut findet wenn man da
Delphi-Quellcode:
ausführt. Da der TTreeview tvi.lParam anscheinend benötigt.
TObject(tvi.lParam).Free;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz