VFP6.0中ActiveX控件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 中出现的字符串,即节点的名称。
index 是整数或字符串,它唯一地标识 Nodes 集合的一个成员。整数是 Index 属性的值,字符串是 Key 属性的值。
FullPath 属性,这个属性返回在 TreeView 控件中引用的 Node 对象的完整限定路径。当赋予该属性为字符串变量时,该字符串被设为具