我做个文件浏览小软件,左边是ShellTreeView,右边是一个Listview,点击ShellTreeView会把其结点下的文件和文件夹列在右边的Listview中,这里我使用listview是因为我想显示特殊的文件而不是所有文件,所以用listview而没用shelllistview。但是我还想点击listview中的文件夹时,同时也在ShellTreeView中自动展开该文件夹在ShellTreeView中的结点,当然是只展开第一层了。我用了ShellTreeView1.Items.Item[i].Expand(true);这样会展开该结点的所有结点,怎么控制使它只展开一层(子结点)而不展开孙结点?

解决方案 »

  1.   

    my god,过了一夜就被压到第2页了,真郁闷,还没人回答。
    有人帮助我吗?
      

  2.   

    用这个就好了
    shelltreeview1.Items.Item[1].Expanded:=true;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var TN: TTreenode;
    begin
      TN := Treeview1.Items.GetFirstNode;
      while not (TN = nil ) do begin
          TN.Expand(false);
          TN := Tn.GetNext;
      end;
    end;
      

  4.   

    sorry
    没看清楚题; 你用这个试试;procedure TForm1.Button2Click(Sender: TObject);
    var TN : TTreenode;
    begin
      TN := Treeview1.Items.GetFirstNode;
      TN.Expanded := true;
    end;
      

  5.   

    TN := Treeview1.Items.GetFirstNode;
      TN.Expanded(false);