Hi Allen
You can iterate items as with a regular TTreeView, e.g.
// Make checked all nodes below selection that contain the text "Temp"
CheckNodesContainingStr( TIEFolderNode( IEFolderTree1.Selected ), 'Temp' );
procedure CheckNodesContainingStr(ANode: TIEFolderNode; const SearchStr: string);
begin
ANode.Expand(True); // So content is filled
ANode := TIEFolderNode( ANode.GetFirstChild );
if ANode = nil then
Exit;
repeat
ANode.Checked := Pos( Uppercase( SearchStr ), Uppercase( ANode.Text )) > 0;
CheckNodesContainingStr( ANode, SearchStr );
ANode := TIEFolderNode( ANode.getNextSibling );
until ANode = nil;
end;
However, the content is filled on demand, so we need to get the content of each and every folder to check it. This means it would be very slow for an entire folder tree, for example.
Nigel
Xequte Software
www.imageen.com