---中国 + 江苏
-南京
-苏州
-南通 + 广东
-广州
-东皖
-台州在treeview中我已经建好上面的树,请问在程序。 我点击“江苏”,如何得到 “江苏”的值(标题),再单击“南京”时,如何得到 “南京”这个值。 如果我想单击“南京”,触发一个事件怎么办? 比如:弹出另一个窗体初学,请大哥们多多指导。谢谢另外,我想问一下: 中国 是叫 根结点吗? 江苏 叫 父节点, 苏州叫子节点 是吗?
-南京
-苏州
-南通 + 广东
-广州
-东皖
-台州在treeview中我已经建好上面的树,请问在程序。 我点击“江苏”,如何得到 “江苏”的值(标题),再单击“南京”时,如何得到 “南京”这个值。 如果我想单击“南京”,触发一个事件怎么办? 比如:弹出另一个窗体初学,请大哥们多多指导。谢谢另外,我想问一下: 中国 是叫 根结点吗? 江苏 叫 父节点, 苏州叫子节点 是吗?
解决方案 »
- 急~~求高手~~~delphi dbgrid問題
- 请问那里可以着到cxgrid的使用说明啊?
- 哪位高手知道怎样根据给定的WAV文件画出波形图???帮帮忙啊,谢谢了!
- 函数声明问题
- 我的C/S程序,用超级用户可以执行,但到power user用户时不能运行。程序中读了注册表
- 连接数据库是odbc好还是ADO好啊?他们在用途上的区别是?
- 一个新手的问题,请务必帮忙,各位高手
- 简单问题(2)
- delphi6 中控件面板上怎么找不到有关开发多层系统的控件?救命啊。
- 请教高手!!!
- dbgrid 一行在垂直方面上居中,怎么设置
- Delphi7检测到错误类 EAccessViolation,错误信息:'Access violation at address 0047D5C7 in module
procedure TForm1.TreeView1Click(Sender: TObject);
var
Node: TTreeNode;
begin
Node := TreeView1.Selected;
if Assigned(Node) then
Edit1.Text := Node.Text; {edit1显示}
end;
var
node:TTreeNode;
begin
node:=TreeView1.Selected;
if node<>nil then
Label1.Caption:=node.Text;
end;中国 是 根结点 江苏是苏州的父节点, 苏州是江苏的子节点
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
看是否选中一项,如果选中了则执行相应的动作
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;
也就是说
'中国'这个节点是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的语句块
if node<>nil then//节点不为空,也就是说你选中了
begin
Label1.Caption:=node.Text//这里就得到了一个节点的值了,它就是一个事件
if node.text='南京' then
begin
form.show;//南京这个节点除了获得了节点值,也弹出了一个界面窗体,注意uses中引用这个窗体的单元
end;
end;
楼上写这么多代码写的TreeView1Click不就是点击的事件了吗,无论哪个节点点击都是这个事件,但是你在这个事件里可以做你想做的事情啊,比如得到这个节点的值,比如弹出窗口。