delphi 保存 和 打开 TREE VIEW的节点已经展开的状态
保存 和 打开 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的节点已经展开的状态的更多相关文章
- C# 保存和读取TreeView展开的状态
附件 http://files.cnblogs.com/xe2011/ReadAndSaveTreeViewState.rar 保存和读取TreeView展开的状态 节点{ImageIndex,Is ...
- SAP CRM 树视图(TREE VIEW)
树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...
- Angular实现递归指令 - Tree View
在层次数据结构展示中,树是一种极其常见的展现方式.比如系统中目录结构.企业组织结构.电子商务产品分类都是常见的树形结构数据. 这里我们采用Angular的方式来实现这类常见的tree view结构. ...
- 多层json的构造,取值,还有使用bootstrap的tree view在前端展示的相关问题
bootstrap-tree view是一款非常好用的插件,它可以添加任意多层节点,效果如下所示: 使用之前需要在HTML页面添加依赖文件: <link href="bootstrap ...
- [UE4]Tree View
类似List View,但Tree View要求提供树形结构的数据.Tree View和Tile View都是继承自List View 一.创建一个名为“TreeEntry”的UserWidget,添 ...
- 原创: EasyUI Tree 最后一级 节点 横向排列
原创: EasyUI Tree 最后一级 节点 横向排列 转载请指明出处 必须要写在: onLoadSuccess 事件中 ddAuthTree.tree({ lines: true, checkb ...
- delphi调用外部程序打开文件
delphi调用外部程序打开文件 ShellExecute的各种用法 一.利用系统默认的邮件收发器发送电子邮件 Uses ..., ShellAPI; Var lpHwnd: HWND; lpOper ...
- GreenOpenPaint的实现(六)图片的保存和打开
如果只是直接的图片保存和打开,是没有很多内容的.但是我这里,将EXIF的信息融入其中,使得图像处理的结果能够保存下来.这样就非常有价值意义了. 所有的操作都放在DOC中进行处理. 我之前已经对EXIF ...
- OpenERP how to set the tree view limit
return { 'name':u'库存报表', 'view_type':'form', 'view_mode':'tree,form', 'res_model':'rainsoft.account. ...
随机推荐
- 修改Tomcat命令窗口的名字
在运行多个tomcat窗口的时候,可以通过修改tomcat命令窗口的名字来区分不同的tomcat,修改如下: 找到tomcat下面的这个文件:tomcat_home\bin\catalina.bat, ...
- Python: 设计模式 之 工厂模式例(1)
#!/usr/bin/env python #coding=utf-8 # # 工厂模式一例 # 版权所有 2014 yao_yu (http://blog.csdn.net/yao_yu_126) ...
- 各浏览器Cookie大小、个数限制
一.浏览器允许每个域名所包含的cookie数: Microsoft指出InternetExplorer8增加cookie限制为每个域名50个,但IE7似乎也允许每个域名50个cookie. Firef ...
- 学习Swift -- 构造器(上)
构造器(上) 构造过程是为了使用某个类.结构体或枚举类型的实例而进行的准备过程.这个过程包含了为实例中的每个存储型属性设置初始值和为其执行必要的准备和初始化任务. 构造过程是通过定义构造器(Initi ...
- 自定义UICollectionViewController之后 如何设置UICollectionView的布局方式--备用
我们很多时候使用UICollectionView 可能都是直接创建 UICollectionView 通过初始化的时候 传入一个布局对象的方式来使用UICollectionView 比如我们之前 ...
- 检测目标程序ELF bit是32还是64
android操作系统在5.0之后加入了对64位程序的支持,同时兼容运行32位的进程 android的进程绝大部分是zygote父进程fork出来的子进程 zygote进程fork出来的进程是32位进 ...
- MFC学习指南大纲
最近一直在做MFC的项目,顺便学习一下以下MFC核心知识吧: 大纲: 1. 消息队列 2. send message 3. post message 4. 面向对象编程 5. 指针 一个一个来学习哈.
- 2015 年 Ruby 大盘点
2015 年 Ruby 圈发生了很多有趣的事,让我们跟随 Glenn Goodrich 来回顾一下 15 年 Ruby 的年度标志性事件. 2015 将要结束,这一年对于 Ruby 来说非常重要.如果 ...
- andorid studio
http://www.cnblogs.com/smyhvae/p/4390905.html
- JVM相关参数配置和问题诊断<转>
原文连接:http://blog.csdn.net/chjttony/article/details/6240457 1.Websphere JVM相关问题诊断: 由JVM引起的Websphere问题 ...