我设置TTreeView的MultiSelect属性为True,既可以选择几项,但我不知道如何得到我选的那几个节点.注意:我是在同一层下选择.
   高压区
   |
   |_61
   |_62
   如何得到61,62

解决方案 »

  1.   

    呵呵~我也不知道怎么实现,但我用的时候是先把它们写入一个文件(*.txt),然后再从文件中读出来。
    var
      mytext : TextFile;
      i , Numb : integer;
    begin
      Numb:=ListView1.Items.Count;  if Numb=0 then
      begin
        Application.MessageBox('没有要保存的更新配置','提示',mb_OK or mb_ICONWarning);
        Exit;
      end;  assignFile(mytext,PathName+'UpFile.lit');
      rewrite(mytext);
      for i:=0 to Numb-1 do
      begin
        Writeln(Mytext,ListView1.Items[i].Caption);
        Writeln(Mytext,ListView1.Items[i].SubItems.Text);
      end;  Closefile(mytext);
    end;不知道谁有更好的办法。
      

  2.   

    var
      i:integer;
    begin
    for i:=0 to treeview1.SelectionCount-1 do
    begin
       memo1.Lines.Add(treeview1.Selections[i].Text);
    end;
      

  3.   

    var
      vIndex : Integer;
    begin
      for vIndex := 0 to TreeView1.Items.Count - 1 do
        if TreeView1.Items[vIndex].Level = 1 then
          ShowMessaeg(TreeView1.Items[vIndex].Text);
      

  4.   

    可以把选择的先放到tlist中,然后再进行操作
      

  5.   

    TreeView1.Items[TreeView1.Selected.Index].Text
      

  6.   

    treeview的每个分支有个唯一的序号,你可以返回你选择的序号范围,然后显示特定序号分支
      

  7.   

    用文件太麻烦了,我做过一个类似的,很简单,设置一个ttreenode数组记录node,这样的话也可以方便的操作node
      

  8.   

    如果不行的话,估计你可能更改了某些属性,如无误的话,我的绝对是正确的,因为我以前就是这么做的
    MultiSelect属性为True
      

  9.   

    阿凯地是正确地,只是顺序与选择时的顺序相反,这不是问题可以调整,如果所选择结点使用频繁,那么可以将for循环中的nodes保存在一个链表中