TreeView默认状态是没有展开的

解决方案 »

  1.   

    自己去网上找找,都的是,下面是我帮你找的,自己改下!
    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;
      

  2.   

    简单点儿就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;