保存 和 打开 TREE
VIEW的节点已经展开的状态

如果每次打开后能自动读取上次展开的状态就会非常快捷

下载地址:

实现方法

将已经展开的节点索引 放在一个文本中
最后选中的那个节点索引放在最后一位
然后通过下面这个代码这实现

{
   TreeView1.Items[0].Expand(False); //按节点索引 展开节点一级
  
TreeView1.Select(TreeView1.Items[1],[]);// 按节点索引
选中节点

}

TreeView1.Selected.AbsoluteIndex; //选中的节点索引号

{
 
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[i].Expanded then
       
List.Add(IntToStr(i));
    end;
   
List.Add(IntToStr(Selected.AbsoluteIndex));
  end;
 
List.SaveToFile(FileName);
  List.free;
end;

{
LoadTreeViewExplandState(TreeView1, 'abc.txt');
}
procedure
LoadTreeViewExplandState(TreeView: TTreeView; FileName:
string);
var
  List: TStringList;
  i:
Integer;
begin
  List := TStringList.Create;
  with List
do
  begin
    List.LoadFromFile(FileName);

for i := 0 to Count - 2 do
//最后一行放的是最后选中的那个节点索引
   
begin
     
TreeView.Items[StrToInt(List[i])].Expand(False);
   
end;
    TreeView.Select(TreeView.Items[StrToInt(List[Count -
1])], []);
    free;
  end;
end;

delphi 保存 和 打开 TREE VIEW的节点已经展开的状态的更多相关文章

  1. C# 保存和读取TreeView展开的状态

    附件 http://files.cnblogs.com/xe2011/ReadAndSaveTreeViewState.rar 保存和读取TreeView展开的状态  节点{ImageIndex,Is ...

  2. SAP CRM 树视图(TREE VIEW)

    树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...

  3. Angular实现递归指令 - Tree View

    在层次数据结构展示中,树是一种极其常见的展现方式.比如系统中目录结构.企业组织结构.电子商务产品分类都是常见的树形结构数据. 这里我们采用Angular的方式来实现这类常见的tree view结构. ...

  4. 多层json的构造,取值,还有使用bootstrap的tree view在前端展示的相关问题

    bootstrap-tree view是一款非常好用的插件,它可以添加任意多层节点,效果如下所示: 使用之前需要在HTML页面添加依赖文件: <link href="bootstrap ...

  5. [UE4]Tree View

    类似List View,但Tree View要求提供树形结构的数据.Tree View和Tile View都是继承自List View 一.创建一个名为“TreeEntry”的UserWidget,添 ...

  6. 原创: EasyUI Tree 最后一级 节点 横向排列

    原创: EasyUI  Tree 最后一级 节点 横向排列 转载请指明出处 必须要写在: onLoadSuccess 事件中 ddAuthTree.tree({ lines: true, checkb ...

  7. delphi调用外部程序打开文件

    delphi调用外部程序打开文件 ShellExecute的各种用法 一.利用系统默认的邮件收发器发送电子邮件 Uses ..., ShellAPI; Var lpHwnd: HWND; lpOper ...

  8. GreenOpenPaint的实现(六)图片的保存和打开

    如果只是直接的图片保存和打开,是没有很多内容的.但是我这里,将EXIF的信息融入其中,使得图像处理的结果能够保存下来.这样就非常有价值意义了. 所有的操作都放在DOC中进行处理. 我之前已经对EXIF ...

  9. OpenERP how to set the tree view limit

    return { 'name':u'库存报表', 'view_type':'form', 'view_mode':'tree,form', 'res_model':'rainsoft.account. ...

随机推荐

  1. PHPUnit测试

    今天单元测试测到一个有点坑的小问题: public function testUpdataStatusFailForNegative() { // // Remove the following li ...

  2. js简版定时器

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. linux之GDB常用命令汇总

    查看gdb的版本号 (1)rpm -q gdb 会显示是否安装gdb及版本号 (2)gdb --version也可以 breakpoint b main; b 20; 设置断点 breakpoint ...

  4. MFC窗口分割以及各窗口间的通讯

    一个偶然的机会又重新接触了MFC窗口的分割,自己结合资料重新写了一个窗口分割的程序,现将具体流程跟大家分享一下: 1.我们先创建一个MFC单文档类的程序,具体分割方式先将单文档整个客户区分成两行一列, ...

  5. dispatch队列

    GCD编程的核心就是dispatch队列,dispatch block的执行最终都会放进某个队列中去进行,它类似NSOperationQueue但更复杂也更强大,并且可以嵌套使用.所以说,结合bloc ...

  6. 将数组转换成List

    采用比较好的方法Collections.addAll(arrayList, arr); arrayList是一个List arr是一个数组 并且要求arrayList与arr的类型是相同的  或    ...

  7. MFS学习总结

    MFS学习总结 MFS概述.特性和新版改进 MFS 工作原理和设计架构 MFS的安装.部署.配置 MFS的高级特性 MFS的性能测试 MFS集群的维护 MFS的常见问题和建议对策 一.MFS概述.特性 ...

  8. [LeetCode#187]Repeated DNA Sequences

    Problem: All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: ...

  9. git 添加忽略文件

    使用github for windows客户端添加.gitignore文件:   如下图所示,在github客户端可以看到未提交的更改列表 随便选中一个文件,右链,选择ignore file. 然后会 ...

  10. once

    var once = function(obj, evtType, handler) { var f = function() { //console.log(arguments) handler.a ...