本文目录
- Delphi TreeView 选择父节点,选择所有子节点
- DELPHI 如何打开和 保存 TREEVIEW 的状态
- 关于的Delphi 的treeview控件的用法请教大家
- Delphi TreeView遍历所有节点问题
- delphi中treeview的用法
- delphi TreeView怎样知道选的是子节点 ,并得到它子节点的TEXT
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;代码运行截图: