文档库 最新最全的文档下载
当前位置:文档库 › treeview的使用方法

treeview的使用方法

treeview的使用方法
treeview的使用方法

delphi中Treeview的使用介绍

每一个节点下子节点形成这一节点的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的编辑器设置各节点的内容。

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

用AddFirst, AddFirstChild, AddChild等先添加根节点,如nil, 'Root');

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

删除节点

编辑节点内容

注意:由于根节点没有父节点= nil)

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

添加节点

这样能加快显示速度。

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表示节点被选中时图片序号。

1.1.12002-12-24+nocode;

end;

Result:=nocode;

end;

function (inNumCode: String): TTreeNode;

{功能:根据提供的全局编号进行定位,如路径不全,则创建路径在定位过程产生的节点的Text为Temp

最终返回对应于全局编号的子节点

入口参数:inNumCode:String为全局编号

返回:全局编号对应的字节点

}

var

i,j:Cardinal;

NumInLevel:integer;

tmp:TTreeNode;

par:TTreeNode;

begin

tmp:=nil;

i:=1;

while i<=StrLen(PChar(inNumCode)) do

begin

的前一个位置

入口参数:inString: String节点编号

inStart: Integer当前处理层次的起始位置

返回:当前处理层次的结束位置

}

var

tmp:Char;

pos:integer;

begin

pos:=inStart+1;

while pos <= Integer(StrLen(PChar(inString))) do

begin

tmp:=inString[pos];

if tmp='.' then

Break

else

pos:=pos+1;

end;

Result:=pos-1;

end;

function (inString: String): Integer;

{功能:找到编号中最后的'.'的位置

入口参数:inString: String为节点编号

返回:节点编号中最后的'.'的位置

}

var

tmp:Char;

pos:integer;

begin

pos:=Integer(StrLen(PChar(inString)));

while pos>=1 do

begin

tmp:=inString[pos];

if tmp='.' then

Break

else

pos:=pos-1;

end;

Result:=pos;

end;

function (inString: String; inNode: TTreeNode):TTReeNode; {功能:为当前节点插入一个孩子节点,位置为最后

入口参数:inString: String为节点编号为待插入节点的字符串inNode: TTreeNode,当前节点

}

begin

Result:=(inNode,inString);

end;

function (inString: String;

inNode: TTreeNode):TTReeNode;

{功能:为当前节点插入一个前导的兄弟节点

入口参数:inString: String为节点编号为待插入节点的字符串inNode: TTreeNode,当前节点

}

begin

Result:=(inNode,inString);end;end.

arent = nil then

begin

[i].ImageIndex := 0;

end;

if [i].Text = '退出' then

begin

[i].ImageIndex := 3;

end;

通过这种方式,设几种图标都行

////////////////////////////////////////////////////////////////

在Delphi 6 IDE中,最显眼的新功能可能就是Object TreeView了。由于Delphi 6比较新,介绍它的资料还很少,所以很多人不知道如何使用Object TreeView,甚至嫌它太占地方而将它关闭了。事实上,当窗体上的构件越来越多的时候,你才会发现Object TreeView的强大功能。

以下是关于Object TreeView功能的一个简单介绍,其主要内容取自《Mastering Delphi 6》,我只是做一些整理和翻译的工作罢了。希望能对使用Delphi 6的朋友有所帮助。

关于Object TreeView的使用

1.在Delphi 5的Data Module设计器中,使用了一个TreeView来显示非可视构件(如DataSet, Fields,Actions等等)之间的关系。Delphi 6中的Object TreeView则是它的扩展,它不仅对于Data Module,对于普通窗体和其他对象也可用。

如果Object TreeView当前不可见,而又想使用它,选择View | Object TreeView即可。2.Object TreeView使用层次视图来显示窗体上的构件以及它们之间的关系。最典型的是父子关系:例如,所有Form上的构件都是Form的子节点;又如,放一个Panel到窗体上,再往Panel上面放一个Button,则Button会成为Panel的子节点。

Object TreeView,Object Inspector和窗体设计器是同步的。这就是说,在窗体上选择一个构件,则在Object TreeView中也会自动选中该构件,同时Object Inspector中显示该构件的属性和事件;同理,在Object TreeView中选择一个构件,窗体上也会同时选择该构件,在Object Inspector中显示其属性和事件。因此,Object Inspector可以看作窗体设计器的一个增强,在窗体上构件比较多,而且彼此覆盖的时候,在Object Inspector种选择一个构件往往比从窗体上面选择或者从Object Inspector的列表中查找要方便快捷。

3.Object TreeView中还能够显示构件之间的其他关系。举例如下:

(1)用Menu Designer设计菜单,所有菜单项按其在菜单中的层次显示在MainMenu节点下;

(2)对于数据集构件,例如TTable,Object TreeView还会显示它在运行时刻将产生的一些对象,例如Session,Alias等,但由于它们是运行时刻才产生的,所以无法编辑它们的属性,在Object TreeView中这些对象将以无名称的节点和一个特殊的图标来表示,并且在选中这些节点的时候,Object Inspector中没有属性可以编辑。

(3)对于ListView,Object TreeView还会列出它的Columns,在Columns上面点击右键,就可以直接编辑各个列。这比从Form Designer上面选择ListView,再选择Columns Editor来的方便。其他一些构件也有类似的情况,例如HeaderControl的Sections,CoolBar的Bands,StatusBar的Panels,都可以从快捷菜单中直接编辑。(ToolBar默认情况下虽然没有将Buttons 列出,但是仍然可以在从Object TreeView中ToolBar的快捷菜单中建立Button和Separator。)4.想精确设置构件之间的Contains关系,Object TreeView也是一个有用的工具。可以通过下面的试验来验证:

(1)在窗体上面放置一个Panel;

(2)从构件面板上选择Button构件;

(3)将鼠标定位在Object TreeView上面(但先不要按下)。你会注意到,当鼠标指向可以作为Container的构件,例如Form和Panel的时候,光标形状会变成一个箭头带一页纸的形状,这说明构件可以放置到Container上面。相反,如果鼠标停留在ListBox,Label这样的构件上面,那么光标将会变成No Drop形状,说明它们不能作为Container。

(4)将光标定位在Panel上面,并按下左键。Button将自动成为Panel的子节点,同时,Panel和Button也建立起了contains关系。

你可以很容易的改变构件之间的Contains关系。例如,在Object TreeView中拖动Button到Form上面,则现在拥有Button的Container就不再是Panel,而是Form本身了。在过去,

这种操作是通过Cut&Paste来完成的,但是Cut&Paste也有一个缺点,那就是一个构件被剪切后,它和其他构件之间的关联就丢失了。而使用Object TreeView,不会有这种缺点。在窗体上面的构件很多,并且彼此覆盖的时候,在Form Designer中查找和操作某个构件就变得相当麻烦。在这个时候,Object TreeView更能够显示它的作用。

Object TreeView和Code Editor中的Diagram视图配合,还能够发挥更为强大的作用。不过这些内容相当多,需要另外用一个专题来讲述了。

Object TreeView很有用,不过代价是要多占一点屏幕空间。由于Delphi IDE支持各个工具的Docking,你可以将Object TreeView和Object Inpector组合在一起,成为一个窗口,这样可以稍稍节省一点屏幕空间。Object TreeView和Object Inspector既可以左右排列,也可以上下排列,这两种方式各有优缺点。你可以选择你喜欢的方式,然后用Desktop工具栏上Save Desktop按钮,来将你的桌面设置保存起来供下次使用。

Access Treeview 应用实例

《Access Treeview 应用实例》 使用说明: 本程序可在各种支持VBA语言的软件上直接使用,其中MS Access已成功测试具体步骤为: 1、在Access里创建一个tblTreeview的数据表如下图: 2、在Access里创建一个frmTreeview的窗体,在窗体里创建一个Treeview1的Treeview控件和一个 ImageList1的ImageList控件如下图:

3、然后把程序复制到frmTreeview窗体的加载事件当中如下图: 4、最终效果如下图:

程序: Private Sub Form_Load() On Error Resume Next Dim strParent As String, strChild As String, MyNode As Node Me.Treeview1.Nodes.Clear '清除Treeview的所有旧节点 Me.Treeview1.ImageList =Me.ImageList1.Object '把图标加载到每个节点前面 Set rst = CurrentDb.OpenRecordset("SELECT * FROM tblTreeview", dbOpenSnapshot, dbReadOnly) 'Treeview 节点数据来源 While Not rst.EOF strChild = rst!ChildID If rst!ChildID <> rst!ParentID Then strParent = Mid(rst!ParentID, 1, Len(rst!ParentID) - Len(rst!ChildID) - 1) Set MyNode = Me.Treeview1.Nodes.Add(strParent, tvwChild, rst!ParentID, rst!ChildID, "A1", "A3") '加载子节点 Else strParent = rst!ChildID Set MyNode = Me.Treeview1.Nodes.Add(, , strChild, rst!ChildID, "A1", "A3") '加载父节点End If rst.MoveNext Wend rst.Close '关闭数据集 Me.Treeview1.HideSelection = False '离开焦点后有阴影 End Sub

VB控件 treeview用法详解

VB TreeView控件使用详解 (2012-06-16 15:08:16) 标签:分类: 第一小时:学习直接用代码将数据填充到树控件中。 为什么要先学习直接用代码将数据填充到树控件中因为这种方法是最简单的,代码也最容易理解,学习树控件,先将这个学会,已经掌握了一半,所以先不要急着想怎么将表中的数据填充到树控件中,在第一小时里,树控件和表完全没有关系。 目的:我们要在树控件中建立如下的一个3层级关系 水果 | |__苹果 | |__红富士 | |__国光 | |__葡萄 |__红提子 |__青提子 解释:水果包含2种,一种是苹果,一种是葡萄,苹果又包含2种,一种是红富士,一种是国光,葡萄也如此。 在这里:“爷”是水果,“父”是苹果,葡萄,“子”是红富士,国光,红提子,青提子。概括如下: 爷(只能有一个):水果 父(这里有2个):父1:苹果;父2:葡萄

子(这里有4个):子1:红富士(父1苹果的子);子2:国光(父1苹果的子);子3:红提子(父2葡萄的子);子4:青提子(父2葡萄的子) 1、新建一个窗体,在窗体上放置两个控件,一个是Treeview,一个是Imagelist 如何找到这两个控件 Treeview控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Treeview Control,Version " Imagelist控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Imagelist Control,Version " Treeview控件大家都明白干什么用的,Imagelist控件是干什么用呢原来这个控件是放图标用的,如果你想在树控件中显示图标的,这个图标都将储存在ImageList控件中。 2、设置这两个控件的属性 首先要讲清楚控件的属性设置有2种,一种是设置这个控件在ACCESS中的属性,比如名称等。一种是设置这个控件本身的属性。要设置这个控件在ACCESS中的属性,选中控件后按鼠标右键选“属性”就可以了。跟我们平时设置文本框什么的一样。要设置这个控件本身的属性,只要双击这个控件就可以了。 1)设置Treeview控件在ACCESS中的名称属性,将名称设置为“Treeview" 2)设置Imagelist控件在ACCESS中的名称属性,将名称设置为“Image" 2)设置Imagelist控件本身的属性,双击控件后,在弹出来的设置框中选“Images",单击“Insert Picture"按钮,在你电脑中选择你需要的图标。在“Key:”栏中填入“K1”。其他默认设置不用改。3)设置Treeview控件本身的属性,双击控件后,在弹出来的设置框中选“General”,在这个选项面版中有很多项设置,大多数是设置树控件的显示格式,你自己慢慢研究。这里我们将第一项“Style"选7,在第五项“Imagelist"选项中将我们放置的Imagelist控件“Image"选上。这项设置就将图标和树控件联系了起来。 3、写代码将数据填充到树控件中

treeview控件应用

树形结构控件TreeView TreeView是一种 能以树形目录结构形式 显示数据的高级控件, 显示方式类似于 Windows的资源管理 器,能分层展开各结点 的子目录,也能收缩各 结点的子目录。本节将 先介绍TreeView控件 的一些基本概念、属性 与方法,再举例说明 TreeView控件的应用。 TreeView控件概述、属性与方法 1、作用:用于显示Node结点的分层列表。 2、添加到控件箱 菜单命令:工程 | 部件,在部件对话框中选择:Microsoft Windows Common Controls 6.0 3、TreeView控件的属性 (1)属性对话框 用鼠标右键单击TreeView 控件,在弹出式菜单中选择属 性,进入属性设置对话框,该 对话框分为通用、字体、图片 三个选项卡,如图8.6所示。

①样式(Style):返回或设置在Node结点之间显示的线样式,如表8.6所示。 ②鼠标指针(MousePoint):可选择不同鼠标样式,如表8.1所示。 ③线条样式(LineStyle):0-tvwTreeLine 无根结点的树形结构,1-tvwRootLines有根结点的树形结构。 ④标签编辑(LabelEdit):0-tvwAutomatic 自动,1-tvwManual 手工; ⑤图像列表(ImageList):结点图标所用ImageList控件; ⑥边框样式(BorderStyle):0-ccNone无边框,1-ccFixedSingle单边框; ⑦外观(Appearence):0-ccFlat平面效果,1-cc3D 3D效果; ⑧缩进:父子结点的水平间距。 (2)其它属性 ①SelectedItem.Text属性:用于返回或设置当前Node结点的内容。 ②CheckBoxes属性:该属性只能取逻辑值,若取True值,则每个Node结点前出现一个复选框,否则不出现复选框。 4、TreeView控件的方法 (1)Node结点 ①Node结点:是TreeView控件中的一项,它包含图像与文本。 ②Nodes结点集合:包含一个或多个Node结点。 (2)Add方法 ①作用:为TreeView控件添加节点和子节点。 ②定义格式 TreeView1.nodes.Add(Relative,Relationship,Key,Text, Image,SelectedImage) 其中: ◆Relative参数:添加新结点时,其父结点键值Key。添加根结点时,此项为空。 ◆Relationship参数:新结点的相对位置: tvwlast—1:新节点位于同级别所有节点之后; tvwNext—2:新节点位于当前节点之后; tvwPrevious—3:新节点位于当前节点之前; tvwChild—4:新节点成为当前节点的子节点。 ◆Key:Node结点关键字(唯一标识符),用于检索Node结点。同时也作为其新建子结点的Relative值,即新建子结点的Relative=父结点Key。 ◆Text:Node结点文本。 ◆Image:Node结点位图,是关联ImageList控件中位图的索引。

delphi中TreeView控件使用

DELPHI中利用TreeView控件建立目录树2000-06-26 00:00:00·-·中国计算机报社 p>Rainbow的话:关于TreeView的使用,还可以参看:联合使用TreeView 组件 TreeView是一个显示树型结构的控件,通过它能够方便地管理和显示具有层次结构的信息,是Windows应用程序的基本控件之一。DELPHI虽然具有比较强大的文件管理功能,提供了多个用于文件管理的标准控件,如DriveComboBox、DirectoryListBox、FileListBox等,通过设置它们的属性,使其建立起联系,甚至不用编写一行程序,我们就可以实现在不同的目录之间进行切换,然而这样的目录切换只适用于进行文件的查找定位,而不能方便地进行目录的浏览,例如我们要从c:\windows目录转到c:\program files目录,就必须返回到根目录才能进行切换,而不能象Windows资源管理器那样任意地在不同的目录之间进行浏览与切换。 要实现在不同目录之间任意切换和浏览,还是需要使用TreeView控件,以下程序就利用DELPHI的TreeView控件来建立目录树。 在该程序中采用的各部件以及界面设计如下图所示: 各部件的主要属性设置如下: 部件属性属性值form name caption form1 ‘目录浏览’ drivecommbobox name visible drivecommbobox1 false filelistbox name visible filetype filelistbox1 false fddirectory imagelist name imagelist1 treeview name images 该程序利用DriveCommboBox控件来获得系统具有的驱动器,并以此作为目录树的最上层,利用FileListBox控件,通过设置其Filetype属性为fdDirectory,可以获得所需的子目录,在TreeView控件的OnExpanding事件中将得到的子目录加到该控件的某一节点下。

C_-TreeView控件使用方法

TreeView 控件显示Node 对象的分层列表,每个Node 对象均由一个标签和一个可选的位图组成。 本文主要介绍C# treeView控件中,添加,修改、删除节点等c# treeview控件的使用方法。 其代码如下: 1.private void Form1_Load(object sender, EventArgs e) 2.{ 3. https://www.wendangku.net/doc/fe13497692.html,belEdit = true;//可编辑状态。 4. 5.,这个结点是根节点。 6. TreeNode node = new TreeNode(); 7. node.Text = "hope"; 8. treeView1.Nodes.Add(node); 9. TreeNode node1 = new TreeNode(); 10. node1.Text = "hopeone"; 11. TreeNode node11 = new TreeNode(); 12. node11.Text = "hopeoneone"; 13. TreeNode node2 = new TreeNode(); 14. node2.Text = "hopetwo"; 15. node1.Nodes.Add(node11);//在node1下面在添加一个结点。 16. node.Nodes.Add(node1);//node下的两个子节点。 17. node.Nodes.Add(node2); 18. 19. TreeNode t = new TreeNode("basil");//作为根节点。 20. treeView1.Nodes.Add(t); 21. TreeNode t1 = new TreeNode("basilone"); 22. t.Nodes.Add(t1);

C# TreeView介绍与使用

C# TreeView中的使用-wwj TreeView组件是由多个类来定义的,TreeView组件是由命名空间"System.Windows.Forms"中的"TreeView"类来定义的,而其中的节点(即Node),是由命名空间"System.Windows.Forms"中的"TreeNode"来定义的。所以当在程序中创建一个TreeView对象,其实只是创建了一个可以放置节点的"容器"。而在这个容器中加入一个节点,其实就是加入了从"TreeNode"类中创建的一个节点对象;同样删除一个节点,也就是删除一个"TreeNode"节点对象。 一. C#操作TreeView组件中的一些常用方法以及具体实现: TreeView组件虽然是一个操作起来比较麻烦的组件,但归根到底,可以总结为三种基本操作:加入子节点、加入兄弟节点和删除节点。掌握了这三种常用操作,对于在编程中灵活运用TreeView组件是十分必要的。下面就分别来加以介绍。 (1).加入根节点、子节点: 所谓根节点是指没有父节点、但具有一个或多个子节点的节点。初始创建根节点的代码如下: TreeNode rootnode = new TreeNode("根节点"); treeView1.Nodes.Add(rootnode); 如果要加入多个根节点。则每个根节点要对应一个TreeNode,然后再创建。 所谓子节点,就是处于选定节点的下一级节点。加入子节点的具体过程是:首先要在TreeView组件中定位要加入的子节点的位置,然后创建一个节点对象,然后利用TreeVeiw类中对节点的加入方法(即:Add ( )方法),加入此节点对象。下面就是在treeView1组件中加入一个子节点的具体代码: //首先判断是否选定组件中的位置 if ( treeView1.SelectedNode == null ) { MessageBox.Show ( "请选择一个节点" , "提示信息" , MessageBoxButtons.OK , https://www.wendangku.net/doc/fe13497692.html,rmation ) ; } else { //创建一个节点对象,并初始化 TreeNode tmp ; tmp = new TreeNode ( "节点名称" ) ; //在TreeView组件中加入子节点 treeView1.SelectedNode.Nodes.Add ( tmp ) ; treeView1.SelectedNode = tmp ; treeView1.ExpandAll ( ) ; }

Treeview 控件的简单应用

Treeview 控件的简单应用: 在VB中Treeview 控件的添加: 通过VB菜单,[工程] -- [部件],然后勾选Microsoft Windows Common Controls 6.0 (SP6),[确定]。 在工具箱里就有了Treeview 控件的图标。 Treeview 控件具有显示类似目录层次结构的格式,在具体应用中很有实际意义。下面简单介绍。 一.在Treeview 控件中添加1个新节点: 在Treeview 控件中添加1个新节点,是通过Treeview 控件的Nodes 集合的Add方法添加一个Node 对象来实现的。 使用方法: Dim nodX As Node Set nodX = Treeview1.Nodes.Add(relative, relationship, key, text, image, selectedimage) 其中参数说明: Relative:可选的。已存在的Node 对象的索引号或键值。新节点与已存在的节点间的关系,可在下一个参数relationship 中找到。可以这样理解relative的作用,是新节点的位置的参照对象。 Relationship:可选的。指定的Node 对象的相对位置,如设置值中所述。本参数是相对参数relative而言。 Key:可选的。唯一的字符串,可用于用Item 方法检索Node。 Text:必需的。在Node 中出现的字符串。 Image:可选的。在关联的ImageList 控件中的图像的索引。 Selectedimage:可选的。在关联的ImageList 控件中的图像的索引,在Node 被选中时显示。 以上参数image和selectedimage,是设置节点文字左边的图形,以后详细举例说明。 例1: Set nodX = TreeView1.Nodes.Add(, , "R", "Root") 这是缺省了relative, relationship, image, selectedimage参数的实例,而key值用“R”,text 值用“Root”。 通常,缺省了relative, relationship的节点,是第1层节点。本例,生成了一个第1层节点,显示的文字为“Root”。 例2: Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C1", "Child 1") nodX.EnsureVisible '这个方法EnsureVisible,使得新添加的子节点后,展开多层显示。 本例:relative为“R”,relationship为tvwChild,key为“C1”,text为“Child 1” 其功能是:建立1个新节点;该新节点是节点key值为“R”的子节点(tvwChild),而该新节点的key值用“C1”,text值用“Child 1”。 我们现在要为TreeView1控件添加新节点,可能有三种情况; 1)添加1个新的第1层节点。 Set nodX = TreeView1.Nodes.Add(, , "R1", "Root1")

delphi中treeview的使用

delphi中Treeview的使用介绍 每一个节点下子节点形成这一节点的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属性表明节点在拖动操作中是源还是目标。

delphi中TreeView控件使用

DELPHI中利用TreeView控件建立目录树 p>Rainbow的话:关于TreeView的使用,还可以参看:联合使用TreeView组件 TreeView是一个显示树型结构的控件,通过它能够方便地管理和显示具有层次结构的信息,是Windows应用程序的基本控件之一。DELPHI虽然具有比较强大的文件管理功能,提供了多个用于文件管理的标准控件,如DriveComboBox、DirectoryListBox、FileListBox等,通过设置它们的属性,使其建立起联系,甚至不用编写一行程序,我们就可以实现在不同的目录之间进行切换,然而这样的目录切换只适用于进行文件的查找定位,而不能方便地进行目录的浏览,例如我们要从c:\windows目录转到c:\program files目录,就必须返回到根目录才能进行切换,而不能象Windows资源管理器那样任意地在不同的目录之间进行浏览与切换。 要实现在不同目录之间任意切换和浏览,还是需要使用TreeView控件,以下程序就利用DELPHI的TreeView控件来建立目录树。 在该程序中采用的各部件以及界面设计如下图所示: 各部件的主要属性设置如下: 该程序利用DriveCommboBox控件来获得系统具有的驱动器,并以此作为目录树的最上层,利用FileListBox控件,通过设置其Filetype属性为fdDirectory,可以获得所需的子目录,在TreeView控件的OnExpanding事件中将得到的子目录加到该控件的某一节点下。 整个程序的源代码如下: unit main;

interface uses Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,FileCtrl,ComCtrls,ImgList; type TForm1=class(TForm) DirTreeView:TTreeView; FileListBox1:TFileListBox; DriveComboBox1:TDriveComboBox; ImageList1:TImageList; procedure FormCreate(Sender:TObject); procedure DirTreeViewExpanding(Sender:TObject;Node:TTreeNode;var AllowExpansion:Boolean); private {Private declarations} public {Public declarations} end; var Form1:TForm1; implementation {$R*.DFM} procedure TForm1.FormCreate(Sender:TObject); var FirstNode,DirNode:TTreeNode; ItemCount,Index:integer; Itemstr:string; begin ItemCount:=DriveComboBox1.Items.Count;//所有驱动器的个数 FirstNode:=DirTreeView.Items.GetFirstNode; for index:=0to ItemCount-1do begin ItemStr:=DriveComboBox1.Items[index]; ItemStr:=copy(ItemStr,1,pos(:,ItemStr));//获得驱动器的名称(比如C/D) DirNode:=DirTreeView.Items.AddChild(FirstNode,ItemStr); DirNode.HasChildren:=true; DirNode.ImageIndex:=0; DirNode.SelectedIndex:=1; end; end; //响应扩展事件 procedure TForm1.DirTreeViewExpanding(Sender:TObject;Node:TTreeNode;Var AllowExpansion:Boolean); var

TreeView的用法基本用法

TreeView 的用法开始(挺全的) //************* TreeView 的用法开始******************// 一:TreeView.Items[0].Expanded := True; // 展开第一个节点 二:TreeView.Items[0].Item[0].Selected := True; // 移动到第一个节点的第一个子节点找当前节点的下一个节点,按序号找如下: if treeview1.Selected.GetNext<>nil then treeview1.Selected.GetNext.Selected:=true; TreeView1.SetFocus; 找当前节点的下一个同层兄弟如下: if treeview1.Selected.getNextSibling<>nil then treeview1.Selected.getNextSibling.Selected:=true; TreeView1.SetFocus; TreeView.Selected.getPrevSibling //当前选中节点的上一个兄弟节点 TreeView.Selected.Parent // 当前选中节点的父节点 getfirstchild是跳到该节点子结点中的第一个 getlastchild是跳到该节点子结点中的最后一个 如果你是想跳到同层兄弟结点的第一个 if treeview1.selected.parent<>nil then treeview1.selected.parent.getfirstchild.selected:=true else treeview1.items.item[0].selected:=true; 如果你是想跳到同层兄弟结点的最后一个 if treeview1.selected.parent<>nil then treeview1.selected.parent.getlastchild.selected:=true else treeview1.Items.Item[treeview1.Items.Count-1].Selected:=true; TreeView的使用方法 基本信息: TreeView 是一个显示树型结构的控件,每一个节点都是一个新类, 使用具有代表性每个节点都有四个值:

C#中TreeView控件的用法

TreeView组件是由多个类来定义的,TreeView组件是由命名空间"System.Windows.Forms"中的"TreeView"类来定义的,而其中的节点(即Node),是由命名空间"System.Windows.Forms"中的"TreeNode"来定义的。所以当在程序中创建一个TreeView对象,其实只是创建了一个可以放置节点的"容器"。而在这个容器中加入一个节点,其实就是加入了从"TreeNode"类中创建的一个节点对象;同样删除一个节点,也就是删除一个"TreeNode"节点对象。 一、C#操作TreeView组件中的一些常用方法以及具体实现: TreeView组件虽然是一个操作起来比较麻烦的组件,但归根到底,可以总结为三种基本操作:加入子节点、加入兄弟节点和删除节点。掌握了这三种常用操作,对于在编程中灵活运用TreeView组件是十分必要的。下面就分别来加以介绍。 (1).加入子节点: 所谓子节点,就是处于选定节点的下一级节点。加入子节点的具体过程是:首先要在TreeView 组件中定位要加入的子节点的位置,然后创建一个节点对象,然后利用TreeVeiw类中对节点的加入方法(即:Add ( )方法),加入此节点对象。下面就是在treeView1组件中加入一个子节点的具体代码: //首先判断是否选定组件中的位置 if ( treeView1.SelectedNode == null ) { MessageBox.Show ( "请选择一个节点" , "提示信息" , MessageBoxButtons.OK , https://www.wendangku.net/doc/fe13497692.html,rmation ) ; } else { //创建一个节点对象,并初始化 TreeNode tmp ; tmp = new TreeNode ( "节点名称" ) ; //在TreeView组件中加入子节点 treeView1.SelectedNode.Nodes.Add ( tmp ) ; treeView1.SelectedNode = tmp ; treeView1.ExpandAll ( ) ; }

Treeview使用详解

TreeView由节点构成,建树通过对TreeView.items属性进行操作。Items是一个TTreeNodes对象,这是一个TTreeNode集。 一、针对TTreeNodes,也就是 TreeView.Items,有这些属性: 1、count,节点个数。 2、item[index] ,通过index得到节点。 二、针对TTreeNodes,也就是 TreeView.Items,常用的添加节点的操作有: AddFirst添加第一个根节点。由此函数添加的节点总排在前面,除非后来又使用此函数添加了一个节点,则后添加的节点将排在前面。该函数返回新添加的节点。AddChildFirst添加第一个子节点,要求有父节点作为其参数。返回新添加的节点。AddChild添加一个子节点,要求有父节点作为其参数。返回新添加的节点。 Add添加一个兄弟节点,要求有兄弟节点作为其参数。返回新添加的节点。 三、针对TTreeNodes,也就是 TreeView.Items,常用的得到节点的操作有: GetFirstNode() 得到根节点。 然后配合TTreeNode.GetNext(),就可以访问所有的节点。 四、建树举例: var root_node,cur_node:TTreeNode; begin root_node:=AddFirst(nil,'根节点1'); cur_node:=addChildfirst(root_node,nil,'根节点1_child1'); add(cur_node,'根节点1_child2'); root_node:=Add(nil,'根节点2'); AddChildFirst(root_node,''根节点2_child1'); end; 五、事件触发: 当从一个节点跳到另一个节点,会触发TTreeView.OnChange事件。该事件中,将传递node,即当前被选中的节点。 当修改一个节点的text时,会触发TTreeView.onEdit事件。 六、将节点和节点所对应的数据联系起来 对于每个TTreeNode,有个Data属性,可以存放一个指针。我们可以利用这个域来存放与节点对应的自己的数据。 1.我们先定义一个数据结构,作为记录我们要记录的数据。如: type PMyData=^TMyData; TMyData=Record sFName:string; sLName:String; nIndex:integer; end; 2.然后,创建数时,将节点和节点数据联系起来: procedure TForm1.Button1Click(Sender: TObject); var myshuju: PMyData

c#中treeview的使用方法

c#中treeview的使用方法 2009-05-08 09:25:00| 分类:c#|字号大中小订阅 本文主要介绍treeView控件中,添加,修改、删除节点的操作, 首先当窗体加载的时候,我们添加上图中所示的节点。 当点击“Delete the Selected”按钮时,被选中的节点将被删除。 当点击“Edit the Selected”按钮式,被选中的节点变成修改状态,此时我们可以对其修改。 其代码如下: private void Form1_Load(object sender, EventArgs e) { https://www.wendangku.net/doc/fe13497692.html,belEdit = true;//可编辑状态。 //添加一个节点,这个结点是根节点。 TreeNode node = newTreeNode(); node.Text = "hope"; treeView1.Nodes.Add(node); TreeNode node1 = new TreeNode();

node1.Text = "hopeone"; TreeNode node11 = new TreeNode(); node11.Text ="hopeoneone"; TreeNode node2 = new TreeNode(); node2.Text = "hopetwo"; node1.Nodes.Add(node11);//在node1下面在添加一个结点。node.Nodes.Add(node1);//node下的两个子节点。 node.Nodes.Add(node2); TreeNode t = newTreeNode("basil");//作为根节点。treeView1.Nodes.Add(t); TreeNode t1 = new TreeNode("basilone"); t.Nodes.Add(t1); TreeNode t2 = new TreeNode("basiltwo"); t.Nodes.Add(t2); } private void button1_Click(object sender, EventArgs e) {//点击该按钮的时候,会移除选中项 treeView1.Nodes.Remove(treeView1.SelectedNode); } private void button2_Click(object sender, EventArgs e) {//点击这个按钮的时候,可以修改选中项

VFP中TreeView使用实例

VFP中TreeView使用实例 ActiveX控件早已为大多数程序开发人员作为一重要工具来使用。由于它与开发语言无关,任何支持ActiveX控件的软件平台上,都可以使用ActiveX控件。就像使用WINDOWS控件一样自如。然而,ActiveX控件在具体到某种开发工具中去使用时会遇到很多问题,这一点在许多刊物的文章都经常被提出讨论,但大多数都是针对Vc,Delphi,VB,PB等开发平台下的ActiveX控件。其实,在上述平台中使用ActiveX控件基本上能在其帮助功能中,开发人员依照其示例最终能找到ActiveX控件的属性,方法,事件的使用说明。甚至有些开发工具已将部分ActiveX控件作为其常用表单控件,使开发人员使用起来感到非常方便。 可是在VFP开发平台下,去使用ActiveX控件就不如上述开发工具那样的幸运,因为VFP 对其根本就未涉及到相关语法说明和示例,使VFP开发者感到尴尬与茫然。又因,很少有介绍这方面文章。因此,笔者就以正在开发“楼盘销售软件”为例介绍一下TreeView控件在VFP中的具体使用,以供与笔者同感的VFP同仁参考。 一、首先介绍TreeView 控件 TreeView 控件显示Node 对象的分层列表,每个Node 对象均由一个标签和一个可选的位图组成。TreeView 一般用于显示文档标题、索引入口、磁盘上的文件和目录、或能被有效地分层显示的其它种类信息。 Node 对象是TreeView 控件中的一项,它包含图像和文本。Nodes 集合包含一个或多个Node 对象。语法:treeview.Nodes,treeview.Nodes.Item(index)。可以使用标准的集合方法(例如Add 和Remove 方法)操作Node 对象。可以按其索引或存储在Key 属性中的唯一键来访问集合中的每个元素。为选择指定的Node 对象,必须通过它的Index 属性或Key 属性的值去引用它。 在Treeview 控件的Nodes 集合中添加一个Node 对象:object.Add(relative, relationship, key, text, image, selectedimage) Nodes 集合是一个基于1 的集合。在添加Node 对象时,它被指派一个索引号,该索引号被存储在Node 对象的Index 属性中。这个最新成员的Index 属性值就是Node 集合的Count 属性的值。因为Add 方法返回对新建立的Node 对象的引用,所以使用这个引用来设置新Node 的属性十分方便。下面介绍一下节点几个属性:relative 是可选的。它表示已存在的Node 对象的索引号或键值。而新节点与已存在的节点间的关系,可在下一个参数relationship 中找到。 relationship 是可选的。它表示指定的Node 对象的相对位置,如设置值中所述。relationship 的设置值是: tvwFirst为常数,0 为值。它表示首的节点。该Node 和在relative 中被命名的节点位于同一层,并位于所有同层节点之前。 TvwLast为常数,1 为值。它表示最后的节点。该Node 和在relative 中被命名的节点位于同一层,并位于所有同层节点之后。任何连续地添加的节点可能位于最后添加的节点之后TvwNext为常数,2 为缺省值。它表示下一个节点。该Node 位于在relative 中被命名的节点之后。 TvwPrevious为常数,3为值。它表示前一个节点。该Node 位于在relative 中被命名的节点之前。 TvwChild为常数,4 为缺省值。它表示子节点。该Node 成为在relative 中被命名的节点的子节点。 注意如果在relative 中没有被命名的Node 对象,则新节点被放在节点顶层的最后位置。key 是可选的。它表示节点中唯一的字符串,可用于用Item 方法检索Node。 text 是必需的。它表示在Node 中出现的字符串,即节点的名称。

vb6中treeview的使用方法

vb6中treeview的使用方法 1、属性 这里只给大家介绍Treeview控件的几个常用基本属性appearance属性:设置空间是否以3D效果显示 详细的外观设置可以转到此控件的“自定义”页面进行设置checkboxes属性:在树的每一项的旁边,是否显示一个复选框,类似checkbox控件的作用 hottracking属性:当鼠标指针经过某个条目时,这些条目是否突出显示,类似网页的超链接效果 labeledit属性:决定用户是否能编辑控件中列出的项目,此项如果不想被改变,可将属性值设置为1 linestyle属性:设置列出的每项之间的行样式,即,如果为1,则当前项下还有子项的时候,它的前面会显示“+”号,如果值为2,则不显示“+” singlesel属性:设置在树中选择新的条目时,是否展开此条目并收拢前一个条目,即,设置为True时,并且当前选中的条目有子项的时候,会把子项展开,并将原来你选中的条目收拢,这一点很实用。style属性:设置Treeview控件的每个列表的组成方式,比如“图片”+“文本”方式,等等,这样你就可以把Treeview弄得更好看一些。

2、用法介绍: 一、Treeview控件添加条目和子条目通常使用ADD方法 其语法如下: object.Nodes.Add(relative,[relationship][,key][,text][,image][,selectedim age]) 其中: relative 可选的。已存在的Node 对象的索引号或键值。新节点与已存在的节点间的关系,可在下一个参数relationship 中找到。relationship 参数是通过关系节点参数与新节点连接的另一个节点;参数可能是以下情况: 1-tvwlast 该节点置于所有其他的在relative中被命名的同一级别的节点的后面 2-tvwNext 该节点置于在relative中被命名节点的后面 3-tvwPrevius 该节点置于在relative中被命名的节点的前面 4-tvwChild 该节点成为在relative中被命名的节点的的子节点 key 可选的。唯一的字符串,可用于用Item 方法检索Node。 text 必需的。在Node 中出现的字符串。 image 可选的。在关联的ImageList控件中的图像的索引。selectedimage可选的。在关联的ImageList控件中的图像的索引,在Node 被选中时显示。 详细语句可参考下列程序代码: 创建父节点条目

PB中TreeView控件使用技巧

PB中TreeView控件使用技巧 一、应用TreeView 控件的一般步骤 1、建立一个应用,并设好与数据库的接口,这是操作数据库的前提。 2、在应用中建一应用窗口W_1,在其上加入二个名为dw_3和dw_4的datawindow控制对象和一个名为TV_1的TreeView对象。 3、修改DW_3属性 General:把Datawindow object name填写一个已存在的名为DW_date的datawindow(注意:它与datawindow控制对象是不同的),用于生成树视图项,将其Visible项设为不可见。 4、修改DW_4属性 General:把Datawindow object name填写一个已存在的名为DW_TS的datawindow对象,用于显示查询出的具体内容。 5、编辑TV_1的属性 TreeView的树视图项不能直接编辑,必须在Script中编写程序。 Picture:在Picture Name中加入四个不同的图标,用于代表树视图中的两个层次(一、二级)、两种状态(未选、选中)。 General:可根据具体应用设定是否选中,其中: Delete Items:运行中是否允许删除表项。 Disable PragDrog: 运行中是否允许拖放表项。 Edit Labels: 运行中是否允许单击表项来改变表项的标题。 Show Buttons:是否在表项放显示+-按钮,有示相对的扩展和收缩。 Hide Selection:当该控件失去焦点时,选中项是否以高亮度显示。 Show Line:表项间是否加一竖线。 Lines At Root:所有根层表项是否用竖线连接。 Indentation:子表项相对于父表项的向右缩进度。

PowerPoint2010中目录树控件TreeView的使用

PowerPoinT2010目录树控件TreeView的使用 TreeView控件用来显示信息的分级视图,如同Windows里的资源管理器的目录,效果较好。因此,想在PowerPoinT2010中建立目录树,通过多次尝试,总结方法如下: 1、效果图如下: 2、启动“PowerPoinT2010”=〉点击“开发工具”=〉点击“其他控件”,如下图所示: 3、弹出“其他控件”窗口对话框,找到选择“Microsoft TreeView Control, version 5.0”=>点击“确定”,如下图所示:

4、然后光标成十字形,到幻灯片中按下鼠标左键并拖动,画出控件,如下: 5、调出控件属性窗体。在控件上点击鼠标右键=〉点击“属性”,如下图所示:

6、在控件属性窗口中,设置控件属性,如下: BorderStyle 1-ccFixedSingle 外边框线 LineStyle 1-tvwRootLines 设置为“+-”号显示。 7 、用鼠标双击控件,弹出代码编辑窗口,编辑节点代码。可参照下列代码,编辑各节点,点击鼠标右键

如下所示: Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer) TreeView1.Nodes.Clear Dim myNod As Node Set myNod = TreeView1.Nodes.Add(, tvwChild, "china", "父节点1") Set myNod = TreeView1.Nodes.Add("china", tvwChild, "hb", "子节点11") Set myNod = TreeView1.Nodes.Add("china", tvwChild, "sx", "子节点12") Set myNod = TreeView1.Nodes.Add("china", tvwChild, "gz", "子节点13") Set myNod = TreeView1.Nodes.Add("sx", tvwChild, "a1", "孙节点121") Set myNod = TreeView1.Nodes.Add("sx", tvwChild, "a2", "孙节点122") Set myNod = TreeView1.Nodes.Add("gz", tvwChild, "b1", "孙节点131") Set myNod = TreeView1.Nodes.Add("gz", tvwChild, "b2", "孙节点132") Set myNod = TreeView1.Nodes.Add("gz", tvwChild, "b3", "孙节点133") Set myNod = TreeView1.Nodes.Add(, tvwChild, "lianji", "父节点2") Set myNod = TreeView1.Nodes.Add("lianji", tvwChild, "xiao", "子节点21") Set myNod = TreeView1.Nodes.Add("lianji", tvwChild, "chu", "子节点21") Set myNod = TreeView1.Nodes.Add("lianji", tvwChild, "gao", "子节点23") End Sub 8、代码编辑完后,关闭代码编辑窗口。然后“保存”文件,保存类型为“启用宏的PowerPoint 演示文稿(*pptm)”,如下图所示:

相关文档