判断选中delphi之中treeview控件节点的语句
判断选中delphi之中treeview控件节点的语句第一个根节点的语句以及第三个根节点的第二个子节点的语句麻烦各位啦首先感谢回答.但没说明是在什么情况下触发这样的事件....
判断选中delphi之中treeview控件节点的语句
第一个根节点的语句以及第三个根节点的第二个子节点的语句
麻烦各位啦
首先感谢回答.但没说明是在什么情况下触发这样的事件.我想应该是treeview1的mousedown的events吧,然而在此情况下,你的代码有问题.
我的问题就是:只要鼠标单击第一个根节点("+"号或标题),就触发某个事件如(TForm1.color:=clred;);单击第三个根节点的第二个子节点则触发另一事件. 展开
第一个根节点的语句以及第三个根节点的第二个子节点的语句
麻烦各位啦
首先感谢回答.但没说明是在什么情况下触发这样的事件.我想应该是treeview1的mousedown的events吧,然而在此情况下,你的代码有问题.
我的问题就是:只要鼠标单击第一个根节点("+"号或标题),就触发某个事件如(TForm1.color:=clred;);单击第三个根节点的第二个子节点则触发另一事件. 展开
2个回答
展开全部
//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;
如果还有不明白的地方,补充或者给我发消息(注明问题)
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;
如果还有不明白的地方,补充或者给我发消息(注明问题)
展开全部
var
node: TTreeNode;
begin
node := TreeView1.Items[0]; //第1个根结点
showmessage(node.text);
node := node.getNextSibling;
node := node.getNextSibling;//找到第3个根结点
node := node.Items[1]; //找到第3个根结点的第2个子节点
end;
node: TTreeNode;
begin
node := TreeView1.Items[0]; //第1个根结点
showmessage(node.text);
node := node.getNextSibling;
node := node.getNextSibling;//找到第3个根结点
node := node.Items[1]; //找到第3个根结点的第2个子节点
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询