利用下面的循环语句(简略)建立了一个如图三级目录:
FatherNode[i] := TreeView1.Items.Add(nil,GDJArray[i]);
Node[j] := TreeView1.Items.AddChild(FatherNode[i],BDSArray[j]);
ChildNode[k] := TreeView1.Items.AddChild(Node[j],DYArray[k]); ——GDJArray[1]
|       |
|       ——BDSArray[1]
|       |      |
|       |       ——DYArray[1]
|       |      |
|       |       ——DYArray[2]
|       |
|        ——BDSArray[2] 
|
 ——GDJArray[2]我现在鼠标选中了DYArray[2],用TreeView1.Selected.Text得到该string值,
请问我如何才能用代码得到DYArray[2]所属的BDSArray[1]和GDJArray[1]这两个string值?
谢谢

解决方案 »

  1.   

    BDSArray[1]:TreeView1.Selected.getPrevSibling
    GDJArray[1]:treeview1.selected.parent
      

  2.   

    呵呵,只是个提示,你可以这样,但还要加判断!
    TreeView1.Selected.Parent.Text
    TreeView1.Selected.Parent.Parent.Text
      

  3.   

    修改一下ComCtrls库
      private
        FKey: string; -- add
      public
        property Key: string read FKey write FKey;
    然后在treeview中可以对每个节点赋值了
    在生成这个数或改变这个数的时候就赋值
       NowNode.Key :='111'
    在onlick中就可以获得值了
       ss :=TreeView1.Selected.Key
      

  4.   

    DYArray[1]:=TreeView1.Selected.getPrevSibling;
    BDSArray[1]:=TreeView1.Selected.Parent.Text;
    GDJArray[1]:=TreeView1.Selected.Parent.Parent.Text;当然还要先判断他的父节点不为空
    if TreeView1.Selected.Parent<>nil then ....
      

  5.   

    BDSArray[1]:=TreeView1.Selected.Parent.Text;
    GDJArray[1]:=TreeView1.Selected.Parent.Parent.Text;