×

delphi treeview 节点

delphi treeview(Delphi TreeView 选择父节点,选择所有子节点)

admin admin 发表于2023-08-04 16:15:10 浏览45 评论0

抢沙发发表评论

本文目录

Delphi TreeView 选择父节点,选择所有子节点

1、点击节点,首先判断是否可以选择。通过TreeNode.Parent是否nil,判断是否有父节点,如果有,则父节点是否可选择,如果不可选择,则当前节点,不可选择。2、在点击节点时,遍历所有子节点。这里采用递归调用。首先用HasChildren,判断选中节点是否有子节点。没有,则返回。有,则GetFirstChild,然后循环使用GetNextChild,所作操作(1)设置所有子节点的Selected属性和父节点相同(2)递归调用当前子节点。

DELPHI 如何打开和 保存 TREEVIEW 的状态

  实现方法  将已经展开的节点索引 放在一个文本中最后选中的那个节点索引放在最后一位然后通过下面这个代码这实现{   TreeView1.Items.Expand(False); //按节点索引 展开节点一级   TreeView1.Select(TreeView1.Items,);// 按节点索引 选中节点  }   TreeView1.Selected.AbsoluteIndex; //选中的节点索引号   保存TREEVIEW状态代码{  SaveTreeViewExplandState(TreeView1,’TreeView.txt’);}procedure SaveTreeViewExplandState(TreeView: TTreeView; FileName: string);var  List: TStringList;  i: Integer;begin  List := TStringList.Create;  With TreeView do  begin    for i := 0 to Items.Count - 1 do    begin      if Items.Item, );    free;  end;end;

关于的Delphi 的treeview控件的用法请教大家

var Node1 : TTreeNode; Node2 : TTreeNode;begin Node1:=TreeView1.Items.Add(nil,’a’);//根节点a Node2:=TreeView1.Items.Add(nil,’b’);//根节点b TreeView1.Items.AddChild(Node1 ,’a1’);//根节点a下的节点 TreeView1.Items.AddChild(Node2 ,’b1’);//根节点b下的节点end;

Delphi TreeView遍历所有节点问题

procedure aa(s:string;aItem:TTreeNode);

var

  node:TTreeNode;

  str:string;

begin

  node:=aItem;

  while node《》nil do begin

    if s=’’ then str:=node.Text else str:=s+’\’+node.Text;

    form1.ListBox1.Items.Add(str);

    if node.HasChildren then aa(str,node.getFirstChild);

    node:=node.getNextSibling;

  end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

  aa(’’,TreeView1.Items.GetFirstNode);

end;

在delphi xe5上测试通过,下面是图片效果:

delphi中treeview的用法

例一//刷新Tree 1procedure TMainForm.RefTree();varTags:string ;RootNode0,RootNode1,RootNode2,RootNode3,RootNode4,RootNode5:TtreeNode;i:integer;beginTreeView1.Items.Clear;RootNode0:=TreeView1.Items.Add(nil,’全部’);RootNode1:=TreeView1.Items.Add(nil,’资分类’);RootNode2:=TreeView1.Items.Add(nil,’部门’);RootNode3:=TreeView1.Items.Add(nil,’情况’);RootNode4:=TreeView1.Items.Add(nil,’位置’);RootNode5:=TreeView1.Items.Add(nil,’方式’);TreeView1.Items.ImageIndex:=11;TreeView1.Items.ImageIndex:=54;TreeView1.Items.ImageIndex:=54;TreeView1.Items.ImageIndex:=54;TreeView1.Items.ImageIndex:=54;TreeView1.Items.ImageIndex:=54;RootNode0.SelectedIndex:=RootNode0.ImageIndex;RootNode1.SelectedIndex:=RootNode1.ImageIndex;RootNode2.SelectedIndex:=RootNode2.ImageIndex;RootNode3.SelectedIndex:=RootNode3.ImageIndex;RootNode4.SelectedIndex:=RootNode4.ImageIndex;RootNode5.SelectedIndex:=RootNode5.ImageIndex;//分类with DataM.q1 dobeginSQL.Clear;SQL.Add(’Select Name1 from Navtree where tag=’’分类’’ ’);Open;while not eof dobeginTreeView1.Items.AddChild(RootNode1,FieldValues);AdoQuery1.Next;end;ShowMessage(ss.Text);ss.SaveToFile(’d:\test8.txt’);ss.Free;TreeView1.LoadFromFile(’d:\test8.txt’);end;

delphi TreeView怎样知道选的是子节点 ,并得到它子节点的TEXT

获取 TreeView 控件当前选中节点是否是子节点,可以通过节点(TTreeNode)的 Parent 属性成员,如果有 Parent ,则说明当前节点是子节点。

获取节点的 Text,可以直接访问节点(TTreeNode)的 Text 属性。

示例代码如下:

procedure TForm1.btn1Click(Sender: TObject);var CurItem: TTreeNode;begin  CurItem := tv1.Selected;  if CurItem 《》 nil then  begin    if CurItem.Parent《》nil then      ShowMessage(’当前选中了子节点, 内容:’ + CurItem.Text)    else      ShowMessage(’当前选中了父节点, 内容:’ + CurItem.Text)  end;end;

代码运行截图: