判断选中delphi之中treeview控件节点的语句

来源:百度知道 编辑:UC知道 时间:2024/05/30 21:28:14
判断选中delphi之中treeview控件节点的语句
第一个根节点的语句以及第三个根节点的第二个子节点的语句

麻烦各位啦
首先感谢回答.但没说明是在什么情况下触发这样的事件.我想应该是treeview1的mousedown的events吧,然而在此情况下,你的代码有问题.
我的问题就是:只要鼠标单击第一个根节点("+"号或标题),就触发某个事件如(TForm1.color:=clred;);单击第三个根节点的第二个子节点则触发另一事件.

//treeview的单击事件
procedure TForm1.TreeView1Click(Sender: TObject);
begin
//如果选中节点的等级(level)为0(根节点等级为0,根节点的子节点等级为1,依次类推)并且其序号(index)为0(同等级下的的节点按从上到下数第一个为0,第二个为1,以此类推)
if(treeview1.Selected.Level = 0)and(treeview1.Selected.Index = 0) then
begin
//这里写点中了第一个根节点后要做的事
form1.Color := clred;
end
else
if (treeview1.Selected.Level = 1)and(treeview1.Selected.Index=1) then
begin
//这里写点中了第三个根节点的第2个子节点后要做的事
form1.Color := clblue;
end;
end;
//如果你想点节点前的“+”号也有同样的效果,那么就应该在Expanding事件里写判断处理程序。
//【补充】【如果你不想要点+号的时候触发事件,这下面的可以删去 】
procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
if(node.Level = 0)and(node.Index = 0) then
begin
form1.Color := clred;
end
else
if (node.Level = 1)and(node.Index=1) then
begin
form1.Color := clblue;
end;
end;
如果还有不明白的地方,补充或者给我发消息(注明问题)