说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

树形图(Treeview)的使用概述-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
树形图(Treeview)的使用概述-Delphi资料

树形图(Treeview)是Win95下新增加的通用显示部件(Common Control,在COMCTL32.DLL中)之一,从Delphi2.0开始也增加了相应的控件Treeview,用于取代原Outline控件。由于树形图结构较复杂,使用起来常不知如何下手。这里就使用中的一些问题作些介绍。

Treeview用于显示按照树形结构进行组织的数据,这在实际当中用途还是比较广泛的,如计算机中的文件系统(Windows95中的资源管理器)、企业或公司的组成结构等等。Treeview控件中一个树形图由节点(TreeNode)和连接线组成。TtreeNode是TTreeview的基本组成单元。一个树的节点又包含文本(Text)和数据(Data)。Text为String类,Data则为无定形指针(Untyped Pointer),可以指向一个与节点相联系的数据结构。

每一个节点下子节点形成这一节点的Items属性,当前节点有一个唯一的Index(TreeNode的Index属性),用于说明子节点在Items中的位置,每一个节点下的子节点是顺序编号的,第一个是0,第二个是1,依次类推。用IndexOf方法获得子节点的顺序,绝对顺序(AbsoluteIndex)则是指从Treeview第一个项开始的顺序值,第一个是0,如此推下去。Item属性则根据Index的值返回当前节点的第Index个子节点。Count则表明属于此项的所有子节点的数量。用MoveTo方法将Item由一个位置移到另一个位置。

Expanded属性表明是否所有的子项都全部展开(包括子项的子项),为True表示全部展开。IsVisible属性表明一个项是否在树中能被看到,如果树全部展开那么这个Item是肯定可以被看到。HasChildren属性表明一个项是否有子项。 GetFirstChild

GetLastChild

GetPrevChild

and GetNextChild分别返回当前项子项的第一个、最后一个和前一个、后一个项。GetNextSibling and GetPrevSibling则返回在同一Level下的下一个和上一个项。GetNextVisible and GetPrevVisible则返回能看得到的下一个和上一个项。如果一个节点有Parent,则HasAsParent方法返回True. Parent为当前项的父项。Focused属性确定焦点是否落在此节点上,被Focus时会一个标准的方框围住。很显然,只有一个节点会被聚焦。 Selected属性表明一个节点是否被选中,同样只有一个节点会被选中。DropTarget属性表明节点在拖动操作中是源还是目标。

.1.添加、删除、修改节点:

静态的方法可以在设计时通过Items的编辑器设置各节点的内容。

在添加和删除前必须保证有节点被选中(Treeview.Selected = nil)

用AddFirst

AddFirstChild

AddChild等先添加根节点,如Treeview.Items.AddFirst( nil

'Root');

然后以此为基础,添加此项的子节点。

删除节点

Treeview.Selected.Delete

编辑节点内容

Treeview.Selected.EditText

注意:由于根节点没有父节点 (TTreeNode.Parent= nil)

此外,在大批量添加数据到Treeview中时最好使用

TreeView.Items.BeginUpdate;

添加节点

TreeView.Items.EndUpdate

这样能加快显示速度。

2.在节点上添加图象

Treeview中几个与图象相关的属性:

SelectedIndex:当节点被选中时在TimageList 中选什么样的图象

OverlayIndex:选那副图象作为掩图(一幅图象透明地显示在另一幅图象的前面),比如一个节点不可用时加一副X图象在其前面。

ImageIndex:在常态时选用的图的序号

StateIndex: 在StateImages这个ImageList中对应的序号,-1时不显示图象

比较典型的,象在文件管理器中的所显示的一样,Treeview控件在节点之前也可以显示图象。在Form中放置一ImageList控件,加入几个图片,分别被Index为0

1

…在Treeview的Image属性项填入你所加入的ImageList的控件名称。TreeNode的ImageIndex表示节点未被选中时(Selected=nil)的图片序号,SelectedIndex表示节点被选中时图片序号。

3.关于Level

Level的概念可以用下图表示:

Level0   Level1 Level2

4.排序

SortType决定什么时候进行排序;

TreeView.AlphaSort对节点进行排序,如果不能满足要求,你可以定义自己的CustomSort方法。

5.Drag&Drop操作,与标准的拖放操作使用方法一样。

以上具体函数的使用细节可以参考联机帮助。具体的代码编写可以参考Delphi2.0中提供的有关Treeview和ListView控件的使用例子。

Google Go:一门为云而生的编程语言 3月26日:没有Larry Page,就没有今天的Google Hortonworks再获1亿美元融资,Hadoop领域三足鼎立 Intel收购Basis Science,欲拓展可穿戴设备市场 Facebook以20亿美元收购Oculus:虚拟现实将是未来计算平台又一大事件 基于NodeJS的14款Web框架 Hadoop导航:版本、生态圈及MapReduce模型 把黑匣子送上“云” 失联困境能否不再 看看全球十大电信巨头的大数据玩法 尹绪森:打开圈子拥抱变化,谈Spark玩家的自我修养 从Healthbook看苹果将如何颠覆移动医疗和健身追踪 Google可穿戴:详解Android Wear的十大功能 初创企业非技术人员的迷思 【OSTC讲师专访】王兴博:Genesis-3D,3D开源游戏引擎 Facebook发布开源项目Tweaks,让iOS应用开发更加便捷 移动开发创业团队再下一城!UCloud与飞流战略合作 【走进支付宝】即将开场,问题大征集! 开发者薪资调查:半数开发者工作十年方可迎来好“薪”情 沟通更畅快 HipChat推出1对1视频和屏幕共享功能 AMD宣布支持DirectX 12 为游戏开发者带来更多福利 开发者薪资调查:2013年哪种编程语言最赚钱? 苹果挖墙脚未果,黑莓高管跳槽被起诉 不看不知道:六个超大规模Hadoop部署案例 豌豆荚发布应用内搜索技术协议 兼容App Indexing Oculus 21岁鬼才创始人:收购不等于改变 Unite China 2014课程解析:Unity教育行业专场免费开放 Instagram技术窥探,助你打造响应式App 切勿妄谈Hadoop,以及4个数据管道打造实践 一周消息树:雨果·巴拉与小米的那些事儿 《近匠》轻邮联合创始人Wesley:移动App要有撼动企业服务的野心 Facebook开源MySQL分支,谷歌、LinkedIn、Twitter等大拿捧场 哪位大虾在中文windows xp下安装过VS7.0,拜托告诉下怎么安装,我安装了3回了,均告失败 请问,用在java_applet中怎么实现一幅图片的旋转?怎么控制转动的速度? 天啊!救命啊!! 如何在客户端IE中执行服务器上的应用程序呢,十万火急。请各位大虾不吝赐教 :如何将包含各种数据类型的文件读入,而且要考虑文件的定位(比如从文件最后一个数据往前读) 如何响应wm_nchittest 消息? SHELL是否可以调用网络资源 在PHP中使用word COM对象的问题。 请教一个问题:如何反回一个MonthCalendar1控件上的的周期(控件上有显示,但不知道如何在程序中得到)? 老板叫我做一个界面,跟VC的界面视图一样, 能不能作一个中文编译器??? 我不要活了。。。 菜鸟:一个小问题 基于对话框的程序中,使用了Tree Control和Edit box,如何在Edit box中显示TreeControl中选中的文本文件的内容。希望提供类似的例子。 ★★★★★★★紧急求救★★★★★★★★ 寻找丢失的分区表!!! windows2000进入“等待”后,唤不醒是怎么回事,请指点! jsp数据库中的Date类型? 在vb中如何进行时间比较?例如1 / 7 / 17 10:00:00 - 1 / 7 / 17 00:00:00 得到一个值?? 请问如何获得其他机器的网卡MAC地址?非常感谢!!! 别了,最爱的BCB! 如何判断一个指向窗口的指针可用? 请教高手:怎么样破windows2000的登陆密码?其密文存放在什么地方? 急:哪里有电子文档 找到找到 网络编程、大虾有请!如何获得当前每秒的字节数? 各位高手,有人喜欢用mysql吗?谈谈这个东东吧 大富翁怎么连不上了? 各位武汉的大虾,请教武汉程序员、高级程序员、系统管理员(正规的大公司)、以及用JAVA做开发的工资一般为多少。希望大家给予帮助!!前途问题!! 网络编程大虾有请!如何获得当前每秒的字节数? 怎样在treeview中设置背景图片 to 版主:精华区太乱了,请给予分类。谢了 听说VB可以写PAD的程序,TRUE? JLabel中文本换行问题 马上要开始学BCB,请问BCB有那种类似于VC的创建类的向导吗,看到BCB的界面我就想到DELPHI中创建类的难度 我的游戏引擎BATTLEFIELD作好了,欢迎下载(这次是真的) 一个pop_up menu的问题 那位高手知道在SDK中使用ADO的方法 为普天之下正直而上进的程序员找一个温馨的家 为什么不能把JMF包打进去??? 内存泄露是指例如“为对象分配一个内存区后,未删除内存区,但删除了对象”是吗? 装pws时遇到的麻烦! to freezwy(网络自由人) 有没有限制上传图片大小的asp代码??(不是组件) 还是没有解决!!! 有关VC中数据库绑定的问题! 扔个骨头……下个“圈套”,呵呵? ^_^ 紧急情况!如何改变DataGrid控件中个别行的颜色?? 如果实现断开共享目录的连接 acces 表 SQL语句中如何转换字符型字段为整型? First-chance exception 请教directx的一个入门问题? 学校食堂运进5吨煤,计划烧80天,由于改进炉灶,每天节约5千克煤,这些煤实际能少几天? 610乘800等于多少? 无限循环小数是有理数,都是可以化成分数形式, 学校食堂运来1500千克煤,计划烧50天.由于改炉灶,每天节省5千克煤,这批煤可以烧多少天? 60乘800等于多少?60乘800等于48000 “有理数可以表示成分数的形式”对吗 学校食堂运来1500千克煤,计划烧50天.由于改炉灶,每天节省5千克煤,实际每天烧多少千克煤?要列出算式来 3吨50千克等于几分之几吨要化成最简分数 有理数都能写成分数形式,那0呢? 学校食堂运来1500千克煤,计划烧50天.由于改炉灶,每天节省5千克煤,实际可以烧多少天? ( )/( )=0.28=几分之几=( )% 任何一个有理数都可以表示成分数的形式吗?急 食堂运来10吨煤,计划烧40天.由于改进炉灶,每天节省5千克.这批煤现在可以烧多少天?列式为() 4是28的几分之几的答案是多少 凡是有理数都可以化成分数吗 食堂改进炉灶后每天烧煤69千克,比原来节省8%.原来每天烧煤多少千克? ( )÷5=几分之几=0.4=10﹕( )=( )% 小数,分数可不可以都化成有理数?在分类题当中,小数、分数可不可以互化?分母能被分子整除的算不算做整数? 食堂运来2000千克煤,计划40天烧完,由于改进炉灶,每天节省5千克,这批煤大约可以烧多少天?两种方法 6分之5 既表示1的几分之几,还表示5的几分之几 把0.017(17循环)化成有理数(分数) 食堂改进炉灶后,比原计划节约5分之1,正好节约6分之7吨,实际用煤多少吨 3/1是5/6的几分之几?3/1表示3分之13/1是5/6的几分之几?24/5是36/25的几分之几?大大大大大虾们 可以OK么?3分之1是6分之5的几分之几,24分之5是36分之25的几分之几 算式这么列? 一个最筒分数,如果把分子减1,可以约成1/2;如分子如1,可约成2/3.问这个最筒分数是几分之几? 某食堂本月改进炉灶后,比原计划节约用煤五分之一,正好节约2吨.本月实际用煤多少吨? 0.6里面有6个几分之一表示几分之几 0.48=几分之几(分数) 食堂运来3吨煤.计划可以烧20天.由于改进炉灶,每天可比计划节约30千克,这批煤现在可以烧多少天?第二个问题:甲乙两个仓库存有大米,乙仓库比甲仓库少2800千克,甲仓库大米的重量是乙仓库的 ∠A=90度,BD是△ABC的角平分线,DE是BC的垂直平分线,求∠ABC和∠CDE的度数. 百分之12.5怎样化成分数? 某食堂改造炉灶后,每天节约用煤60千克,这样原来计划用32天的煤,现在可以用48天.这堆煤共有多少千克? 已知关于x的不等式组{x-a≥0,5-3x>-1,它的整数解共有5个,求a的取值范围. 把下面的百分数化成分数 50% 75% 40% 12.5% 10% 食堂运来一堆煤,已经烧了3/5,还剩6吨.这堆煤烧了多少吨? 水泥厂食堂运回3吨煤计划可以烧20天,改进炉灶后,这批煤烧了25天,实际平均每天比原计划节约用煤多少千克 已知5x-3y-2=0,则1010x ÷106y =(        ) 1.食堂运来 910吨煤,已经烧了这堆煤的35%,还剩下多少吨煤.2.汽车厂九月份按5%的税率激纳营业税1.35万元.这个厂九月份的营业额是()万元.3.有一堆煤,第一周烧了40%,第二周烧了37.5%,还剩90千克 食堂改进炉灶后,每月比计划少用煤五分之一,正好节约十分之九吨,现在每月实际用煤多少吨 某商场以50元/件的价格进来一批羊毛衫.前期市场点调查表明:如果以60元/件的价格卖出,则每周可卖出100件,在此基础上销售价格每件增加5元,则周销售量减少4件.假设该商店把销售价格定为x 应用题:食堂运来一些煤,计划每天用50千克,6.5天烧完,实际10天才烧完,实际每天可节约多少煤? 一项工程,计划10天完成,实际8天完成任务,工作时间缩短了20%,工作效率提高了25%!为什么?工作时间缩短了:(10-8)÷10=20%工作效率:原来10天完成,每天10分之1,实际8天完成,每天8分之1.提高了: 小明向一个底面为30cm*30cm的长方体玻璃容器中装满水,并将一部分水倒入一个正方体铁桶中,当这个正方体铁桶装满水时,长方体容器中的睡眠下降了20cm,则这个正方体铁桶的棱长有没有超过25cm? 学校食堂运来一堆煤,煤多少千克计划每天烧50千克,8.5天烧完,实际10天才烧完,实际每天烧煤多少千克 一件工作,原计划10天完成,实际8天完成,工作时间缩短了()%?工作效率提高了()%A12.5 B20 C25 D10(是选择题) 快急!19/78是几分之几? 食堂买来一批煤,计划每天烧250千克,可以烧20天,实际每天节约用煤20%,这样可以 一项工作,原计划十天完成,实际八天完成,工作时间缩短了百分之几,工作效率提供了百分之几工作效率是10/8-1=25%吗这道算式的思路是什么 一杯牛奶,第一次喝了全杯的2分之1,第二次喝了全杯的4分之1,还剩全杯的几分之几?快 美味食堂每天烧掉85kg,比原来节约15kg,节约了百分之几 一件工作,原计划10天完成,实际8天完成,工作时间缩短了百分之多少,工作效率提高了百分之多少? 1.22222 ×9-1.33332 ×4=(        ) 某校食堂有煤mkg,原计划每天用煤akg,实际每天节约用煤15kg,节约后可以多用多少天?(式子) 一箱工程原计划25天完成,实际提前了5天完成,工作时间缩短了几分之几? 100分之28化成最简分数是几分之几? 某食堂有煤m吨,原计划每天烧煤a吨,现在每天节约烧煤b吨,则可比原计划多烧____天 一件工作,原计划10天完成,实际8天完成,工作时间缩短了( )%,工作效率提高了( )%. 100分之304化成最简分数 学校食堂运来1吨煤计划烧40天由于改进炉灶每天可节省5千克这堆煤实际可以烧多少天?怎样计算 完成一项工程的时间由5小时缩短到4小时,工作效率提高了几分之几?要有思考过程 成绩优秀率=几分之几*100%人员的出勤率=几分之几*100%急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn