怎么获取 treeview中,父节点和子结点的值

如何获取 treeview中,父节点和子结点的值?
---中国

  + 江苏
  -南京
  -苏州
  -南通

  + 广东
  -广州
  -东皖
  -台州

在treeview中我已经建好上面的树,请问在程序。 我点击“江苏”,如何得到 “江苏”的值(标题),再单击“南京”时,如何得到 “南京”这个值。 

如果我想单击“南京”,触发一个事件怎么办? 比如:弹出另一个窗体

初学,请大哥们多多指导。谢谢

另外,我想问一下: 中国 是叫 根结点吗? 江苏 叫 父节点, 苏州叫子节点 是吗?



 

------解决方案--------------------
Delphi(Pascal) code

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

------解决方案--------------------
procedure TForm1.TreeView1Click(Sender: TObject);
var
node:TTreeNode;
begin
node:=TreeView1.Selected;
if node<>nil then
Label1.Caption:=node.Text;
end;

中国 是 根结点 江苏是苏州的父节点, 苏州是江苏的子节点
------解决方案--------------------
探讨
点一下 子结点,生产一个事件如何做? 比较 弹出另一个窗体,准备执行另一个界面程序等??

------解决方案--------------------
探讨
点一下 子结点,生产一个事件如何做? 比较 弹出另一个窗体,准备执行另一个界面程序等??

------解决方案--------------------
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的语句块

------解决方案--------------------
探讨
点一下 子结点,生产一个事件如何做? 比较 弹出另一个窗体,准备执行另一个界面程序等??

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


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