---中国    + 江苏
           -南京
           -苏州
           -南通    + 广东
           -广州
           -东皖
           -台州在treeview中我已经建好上面的树,请问在程序。 我点击“江苏”,如何得到 “江苏”的值(标题),再单击“南京”时,如何得到 “南京”这个值。 如果我想单击“南京”,触发一个事件怎么办? 比如:弹出另一个窗体初学,请大哥们多多指导。谢谢另外,我想问一下: 中国 是叫 根结点吗? 江苏 叫 父节点, 苏州叫子节点 是吗?          

解决方案 »

  1.   


    procedure TForm1.TreeView1Click(Sender: TObject);   
    var  
    Node: TTreeNode;   
    begin  
    Node := TreeView1.Selected;   
    if Assigned(Node) then  
        Edit1.Text := Node.Text; {edit1显示}  
    end;   
      

  2.   

    procedure TForm1.TreeView1Click(Sender: TObject);
    var
    node:TTreeNode;
    begin
    node:=TreeView1.Selected;
    if node<>nil then
       Label1.Caption:=node.Text;
    end;中国 是 根结点 江苏是苏州的父节点, 苏州是江苏的子节点
      

  3.   

    node:TTreeNode;  是什么意思 if node <>nil  是什么意思,大哥们。我初学,请多多谅解
      

  4.   


    procedure TForm1.TreeView1Click(Sender: TObject); 
    var 
    node:TTreeNode; 
    begin 
    node:=TreeView1.Selected; 
    if node <>nil then 
      Label1.Caption:=node.Text; 
    end; 
    这个就是你所要的
    点一下 子结点,生产一个事件node:TTreeNode;  是什么意思 
    表示一个结点变量的意思if node <>nil  
    看是否选中一项,如果选中了则执行相应的动作
      

  5.   


    procedure TForm1.TreeView1Click(Sender: TObject); 
    var 
    node:TTreeNode; 
    begin 
    node:=TreeView1.Selected; 
    if node <>nil then 
      //Label1.Caption:=node.Text;//你硬是不把它作为一个事件
       begin
      showmessage(node.text);
    end;
    end; 
      

  6.   

    TTreeNode是一种类型,这种类型你可以理解成是TreeView的项(节点)的类型
    也就是说
    '中国'这个节点是TTreeNode类型的
    '江苏'这个节点也是TTreeNode类型的
    '南京'这个节点也是TTreeNode类型的
    而TTreeNode这种类型的数据包含了一个Text属性,Text属性就是他在屏幕上显示的文字点一下节点是触发一次事件,是OnClick事件,你选中TTreeNode控件后在他的事件列表里找到OnClick这一项,双击一下系统就自动帮你生成这个事件触发的函数了,那运行的时候当你单击节点的时候就会触发这个函数(这个函数里的代码就被执行一遍);
    node:=TreeView1.Selected; 
    这句的意思是将你当前选中的那个节点(TTreeNode类型)保存到一个Node(TTreeNode类型)里,然后通过这个Node,上面说了TTreeNode类型的数据有个Text属性,而Node.Text就是你在屏幕上显示的那个地方.if node <>nil  then
    这句的意思是Node不为空,对照上面的代码就是有选中数据的时候则进入if的语句块
      

  7.   


    if node<>nil then//节点不为空,也就是说你选中了
     begin
      Label1.Caption:=node.Text//这里就得到了一个节点的值了,它就是一个事件
      if node.text='南京' then
        begin
         form.show;//南京这个节点除了获得了节点值,也弹出了一个界面窗体,注意uses中引用这个窗体的单元
        end;
     end;
      

  8.   

    楼主啊……
    楼上写这么多代码写的TreeView1Click不就是点击的事件了吗,无论哪个节点点击都是这个事件,但是你在这个事件里可以做你想做的事情啊,比如得到这个节点的值,比如弹出窗口。
      

  9.   

    你也可以写个function,把判断语句什么的写在里面,遍历节点,在click事件中调用这个function即可.
      

  10.   

      我也在学习这个TREE,这个帖子真是帮忙大了!
      

  11.   

      我也在学习这个TREE,这个帖子真是帮忙大了!