自己去网上找找,都的是,下面是我帮你找的,自己改下! procedure TFrmWindowView.btnSearchClick(Sender: TObject); //查找节点内容 function FindChild( const ANode : TTreeNode; const AText : string; const AStart : Integer = 0 ):Boolean; //遍历子节点 var i : Integer; begin Result := False; for i := AStart to ANode.Count - 1 do begin if Pos(AText,UpperCase(ANode.Item[i].Text)) > 0 then begin ANode.Item[i].Selected := True; Result := True; Exit; end; Result := FindChild(ANode.Item[i],AText); if Result then Exit; end; end; function FindParent( const ANode : TTreeNode; const AText : string ):Boolean; //遍历父节点 begin Result := False; if not Assigned(ANode.Parent) then Exit; Result := FindChild(ANode.Parent,AText,ANode.Index + 1); if not Result then Result := FindParent(ANode.Parent,AText); end;var sSearchText : string; begin if not Assigned(tv.Selected) or (edtSearch.Text = '') then Exit; sSearchText := UpperCase(edtSearch.Text); if not FindChild(tv.Selected, sSearchText) then FindParent(tv.Selected, sSearchText); end;
简单点儿就ok了var I: Integer; begin for I := 0 to TreeView1.Items.Count -1 do begin if TreeView1.Items[I].Text = 'search text' then //看自己的条件 begin TreeView1.Items[I].Selected := True; Break; end; end; end;
procedure TFrmWindowView.btnSearchClick(Sender: TObject);
//查找节点内容 function FindChild(
const ANode : TTreeNode;
const AText : string;
const AStart : Integer = 0
):Boolean;
//遍历子节点
var
i : Integer;
begin
Result := False;
for i := AStart to ANode.Count - 1 do
begin
if Pos(AText,UpperCase(ANode.Item[i].Text)) > 0 then
begin
ANode.Item[i].Selected := True;
Result := True;
Exit;
end;
Result := FindChild(ANode.Item[i],AText);
if Result then Exit;
end;
end; function FindParent(
const ANode : TTreeNode;
const AText : string
):Boolean;
//遍历父节点
begin
Result := False;
if not Assigned(ANode.Parent) then Exit;
Result := FindChild(ANode.Parent,AText,ANode.Index + 1);
if not Result then
Result := FindParent(ANode.Parent,AText);
end;var
sSearchText : string;
begin
if not Assigned(tv.Selected) or (edtSearch.Text = '') then Exit;
sSearchText := UpperCase(edtSearch.Text);
if not FindChild(tv.Selected, sSearchText) then
FindParent(tv.Selected, sSearchText);
end;
I: Integer;
begin
for I := 0 to TreeView1.Items.Count -1 do
begin
if TreeView1.Items[I].Text = 'search text' then //看自己的条件
begin
TreeView1.Items[I].Selected := True;
Break;
end;
end;
end;