当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++ Builder教程

C++ Builder 初学问与答(七)

53)问:能介绍一下TTreeNodes与TTreeNode?

  答:在BCB中,树状视图的节点是通过TTreeNodes对象来管理的,通过这个对象可以对树状视图进行动态的增加、删除、插入、移动节点等操作。而每一个节点都是一个TTreeNode对象。

  TTreeNode的主要属性和函数:

  Count:这个属性用来返回某个节点所拥有的子节点的数目。它不包括其子节点。

  Item:其声明为:_property TTreeNode* Item[int Index];这个属性用来访问该节点的某个子节点。其中参数Index为其子节点在所有子节点中的位置。

  Index:这个属性用来返回该节点在其父节点的所有子节点中的位置。

  Text:这个属性用来设置或者返回节点的标签。

  Delete:这个函数用来删除该节点本身。

  DeleteChildren:这个函数用来删除该节点的所有子节点。

  EditText:这个函数用来对节点进行就地编辑。

  IndexOf:其声明为:int _fastcall IndexOf(TTreeNode* Value);这个函数将返回该节点的某个子节点的序号。子节点由参数value指定。如果参数value指定的节点不是该节点的子节点,函数将返回-1。

  TTreeNodes的主要属性和函数:

  Count:这个属性用来返回树状视图中节点的数目。

  Add:其声明为:TTreeNode *_fastcall Add(TTreeNode,const System::AnsiString S);这个函数将在树状视图中增加一个节点,新节点成为参数Node 指定的节点的父节点的最后一个子节点,参数S为新节点的标签。

  AddChild:其声明为: TTreeNode *_fastcall AddChild(TTreeNode,const System::AnsiString S);增加的新节点为参数Node指定的节点的最后一个子节点。

  AddChildFirst:其声明为: TTreeNode *_fastcall AddChildFirst(TTreeNode,const System::AnsiString S);这个函数与AddChild不同的是新增加的节点为Node节点的第一个子节点。

  AddFirst :其声明为:TTreeNode *_fastcall AddFirst(TTreeNode,const System::AnsiString S);这个函数与Add 相似,不同的是新节点成为Node节点的父节点的第一个子节点。

  Clear:这个函数将把整个树状视图都清空。

  Delete:其声明:void _fastcall Delete(TTreeNode *Node);这个函数将删除参数Node 指定的节点。

  Insert:其声明为:TTreeNode _fastcall Insert (TTreeNode* Node,const System::AnsiString S);这个函数用来在参数Node 指定的节点之后插入一个新的节点,新节点的标签由参数S指定。

  7.图形列表组件ListView
  54)问:TreeView组件能够实现资源管理器左边显示区的内容,可是它右边显示区能将列表用各种不同的方式显示,例如大图标方式、小图标方式、简单列表方式和详细列表方式。这在C++Builder应该怎样来实现?

  答:这可以用ListView组件来实现,ListView组件从功能上讲与列表框相似,但是从组件的属性来看与TreeView相似。ListTiew组件所建立的列表可以用各种不同的方式显示,例如大图标方式、小图标方式、简单列表方式和详细列表方式。

  ListView组件中的一部分属性与TreeView组件中的属性是相同的,例如Items,StateImages等。还有一些属性是ListView特有的。



  LargeImages属性用来设置存放大图标的图标列表,当列表处于大图标显示方式时,列表使用这个图标列表中的图标显示。

  SmallImages属性用来设置存放小图标的图标列表,当列表处于小图标显示方式时,列表使用这个图标列表中的图标显示。

  MultiSelected属性可确定用户是否可以同时选择多个项目。缺省值为false。

  属性ViewStyle确定了显示风格,可以取这样一些值。

  vsIcon:列表以大图标方式显示,可以进行拖放操作。只显示第一层节点,放置方式由Arrangement决定。

  vsSmallIcon:列表以小图标方式显示,可以进行拖放操作。只显示第一层节点,放置方式由Arrangement决定。

  vsList:以简单列表的方式显示,不能进行拖放操作。节点是竖向放置的,只显示第一层节点,Arrangement不起作用。

  vsReport:以详细列表的方式显示,显示的信息可以分成多列。最左边的列显示图标和文字,其余的列显示详细信息。节点是竖向放置的,每一层均已经展开,只有此时Columns的设置才起作用,Arrangement不起作用。

  属性Columns  当属性ViewStyle被设置为vsReport时,列表中的每一项可以分成多列显示,这个属性用于设置列数和列的标题。

  在设计时,按下Columns属性Value列中的省略号按钮可以打开一个ListView Columns编辑器,在这个编辑器中可以生成和编辑列及列的标题。

  属性ColumnClick的值为True时,列表中的标题可以作为按钮使用, 这个属性最常见的应用是在Windows 95的资源管理器中,单击文件名或者其它几个列标题,列表中的文件就会按照文件名重新排序。

  属性Items 包含列表中所有项目的集合。与TreeView组件中的Items属性类似,这个属性也有一个项目编辑器,你可以使用这个编辑器在设计时增加、删除项目,设置项目的图标索引以及标题等。它的使用方法与TreeView组件的Items编辑器基本相同。

  IconOptions属性用来设置图标的显示方式。它还包含几个子属性:

  (1)Arrangement属性:当该属性等于iaTop时,表示图标从左到右排列在ListView组件的顶部;等于iaLeft时,表示图标从上到下排列在组件的左边。

  (2)AutoArrange属性:等于True时,表示增加、删除或移动图标时图标将自动重排。

  (3)WrapText属性:等于True时,表示当项目的标题超过图标的宽度时标题将换行。

  此外,还有运行时态属性

  Selected属性用来返回列表中被选中的项目。

  TopItem属性用来返回列表中当前可见的最顶端的项目。

  55)问:请您编写一个程序来帮助我理解和记忆ListView控件好吗?

  答:好的,选择File菜单的New Application菜单项,打开一个空的工程,在窗体上放置一个ListView控件,两个ImageList控件,一个ListBox控件。

  选中ImageList1控件,将它的Height和Width属性设置为32。双击ImageList1控件,打开图像列表编辑框。点击Add按钮,选择一个大图标文件。点击打开按钮。然后点击OK按钮。同样方法给ImageList2控件加上小图标。选择TreeView控件,将它的LargeImages属性修改为ImageList1。

共3页 首页 上一页 1 2 3 下一页 尾页 跳转到
相关内容
赞助商链接