收藏 分享(赏)

第8章VCL组件应用_续2_Stu.doc

上传人:mcady 文档编号:9505830 上传时间:2019-08-11 格式:DOC 页数:10 大小:155KB
下载 相关 举报
第8章VCL组件应用_续2_Stu.doc_第1页
第1页 / 共10页
第8章VCL组件应用_续2_Stu.doc_第2页
第2页 / 共10页
第8章VCL组件应用_续2_Stu.doc_第3页
第3页 / 共10页
第8章VCL组件应用_续2_Stu.doc_第4页
第4页 / 共10页
第8章VCL组件应用_续2_Stu.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、第 8 章 VCL 组件应用(续二)本章重点 树状视图组件 TreeView 列表视图组件 ListView 跟踪条组件 TrackBar 和进度条组件 ProgressBar Tab 组件 TabControl 和多页面组件 PageControl第 0 节 ImageList 组件(补充)ImageList 组件又称图像列表组件,位于组件板的 Win32 页,属于非可视组件,用于为其他组件(如 TreeView、ListView、工具栏等)提供图片。在设计阶段向 ImageList 组件中添加图片的方法如下:双击窗体上的 ImageList 控件,打开图像列表对话框,单击其中的【Add.】

2、按钮,在弹出的【Add Images】对话框中查找并选择适当的图片加入到控件中。加入到控件中的每一幅图片均有一个索引号(下界为 0) ,通过索引号访问其中的图片。第 1 节 TreeView 和 ListView 组件一、TreeView 组件TreeView 组件又称树状视图组件,位于组件板的 Win32 页。该组件可显示由一系列Node 对象(节点)组成的树状分层结构列表。TreeView 常用于显示文档标题、部门分类、文件目录或具有层次结构的其他信息。TreeView 组件的常用属性、方法和事件见教材 172174 页,下面从实际应用的角度讨论该组件的使用。1. 理解 Items 属性、

3、TTreeNode 对象和 TTreeNodes 对象TreeView 控件中的每个列表项都是一个 TTreeNode 对象(节点) ,节点可包含文本和图片。节点之间的关系可以是父子关系(filiation)或兄弟关系( sibling) 。控件中的所有 TTreeNode 对象(节点)构成一个数组,即 TTreeNodes 对象。数组中的每一个节点具有一个惟一的索引(下界为 0) ,利用索引可以访问数组中的每个节点。TTreeNodes 对象提供了若干方法,用于操作其中的节点。较常用的方法包括Add、AddChild、AddFirst、 AddChildFirst、Insert、Clear

4、和 Delete 等。TreeView 控件的 Items 属性是对 TTreeNodes 对象的封装,它的类型为 TTreeNodes,代表属于本控件的 TTreeNodes 对象。设计时或运行时对 TTreeNodes 对象的操作实际上是通过 Items 属性实现的。例如,控件中的第二个节点可以表示为:TreeView1.Items12. 设置 Images 属性TreeView 控件中的每个节点通常带有两个图片,分别表示选定和未选定状态。节点所需图片由 ImageList 控件提供。如果需要在节点上显示图片,在添加节点前应将 TreeView控件的 Images 属性指定为窗体上已有的

5、ImageList 控件。3. 设计时添加节点在设计阶段,节点的添加是通过树状视图编辑器对话框【TreeView Items Editor】实现的(参见教材 174 页图 8.4) 。打开该对话框的方法如下:方法 1:双击窗体上的 TreeView 控件。方法 2:选定 TreeView 控件,在属性窗口单击 Items 属性右侧的 .按钮。方法 3:右击 TreeView 控件,在弹出的快捷菜单中选择【Items Editor.】命令。该对话框左部的【Items】分组框中有 4 个按钮,功能如下:【New Item】:添加节点。【New SubItem】:为当前节点添加子节点。【Delete

6、 】:删除当前节点。【Load 】:从含有节点列表的文件中导入节点。在对话框右部的【Item Properties】分组框中设置当前节点的属性:【Text】 :节点标签文本。【Image Index】:指定当前节点未选定时的图片索引号。【Selected Index】:指定当前节点选定时的图片索引号。【State Index】:指定当前节点的附加图片索引号,通常设置为-1,表示无附加图片。上述属性中的图片均由 ImageList 控件提供。4. 运行时添加、删除和清空节点TreeView 控件的 Items 属性本身就是一个 TTreeNodes 对象,可以在代码中直接调用该对象的各种方法,实

7、现节点的添加、删除和清空。(1)Add 和 AddFirst 方法(添加兄弟节点)Add 方法格式:TreeView 控件名.Items.Add(现有节点, 新节点文本);AddFirst 方法格式:TreeView 控件名.Items.AddFirst(现有节点, 新节点文本);这两种方法的功能相似,均可为“现有节点”添加一个兄弟节点,其区别仅在于新节点的位置不同。Add 方法添加的新节点位于所有同级节点的最后,而 AddFirst 方法添加的新节点位于所有同级节点的首位。例如:with TreeView1 doItems.Add(Items0, NewNode);若控件中尚无节点,应将“现

8、有节点”参数设置为 nil。例如:TreeView1.Items.Add(nil, NewNode);又如:TreeView1.Items.AddFirst(nil, NewNode);若控件中已有节点, “现有节点”参数亦可为 nil,此时将在所有顶层节点之后(Add方法)或之前(AddFirst 方法)添加一个顶层节点。这两种方法的返回值都是新添加的节点(TTreeNode 对象) ,可以将它赋值给一个TTreeNode 类型的变量,然后设置该节点的属性。例如:procedure TForm1.Button1Click(Sender: TObject);var Node: TTreeNod

9、e; /声明节点对象变量beginNode := TreeView1.Items.Add(nil,New Node); /添加节点并赋值给变量Node.ImageIndex := 0; /指定节点未选定状态的图片Node.SelectedIndex := 1; /指定节点选定状态的图片end;(2)AddChild 和 AddChildFirst 方法(添加子节点)AddChild 方法格式:TreeView 控件名.Items.AddChild(父节点, 新节点文本);AddChildFirst 方法格式:TreeView 控件名.Items.AddChildFirst(父节点, 新节点文本

10、);这两种方法的功能相似,均可为“父节点”添加一个子节点,其区别仅在于新节点的位置不同。AddChild 方法添加的新节点位于所有同级节点的最后,而 AddChildFirst 方法添加的新节点位于所有同级节点的首位。两种方法的返回值都是新添加的节点。例如,以下语句为控件中的第一个节点添加子节点:with TreeView1 doItems.AddChild(Items0, New Child);以下语句为选中的节点添加子节点:with TreeView1 doItems.AddChild(Selected, New Child);(3)Insert 方法(插入兄弟节点)格式:TreeView

11、 控件名.Items.Insert(现有节点, 新节点文本);Insert 方法在 “现有节点”之前插入一个兄弟节点,返回值为新添加的节点。例如:with TreeView1 doItems.Insert(Selected, New Node);(4)Delete 方法(删除节点)格式:TreeView 控件名.Items.Delete(现有节点);Delete 方法删除“现有节点” 及其所有子节点。 “现有节点”必须存在,且不得为nil。例如,以下语句删除选定的节点及其子节点:with TreeView1 doif Selected nil do /若父节点不为空begins := tNod

12、e.Text + Sp + s; /将父节点文本和分隔符加至路径中tNode:= tNode.Parent; /再取父节点end;Result:= s; /返回节点全路径end;将上述函数放置在单元实现部分的起始处,即可在其他过程中调用。例如,以下语句将用户所选节点的全路径显示在标签中:if TreeView1.Selected nil thenLabel1.Caption := GetNodePath(TreeView1.Selected);思考:如何在教材【例 8-1】 中通过调用上述函数,将所选节点的全路径显示在编辑框内?2. 使用计时器、计量器和斜面轮廓控件模拟进度显示添加控件及设置属

13、性:在窗体上添加一个计时器组件 Timer(Interval=20,Enable=False) ,一个计量器控件Gauge(ShowText=False,背景灰色) ,一个斜面轮廓控件( Bevel) ,一个按钮。将计量器与斜面轮廓控件重合在一起。说明:Bevel 组件又称斜面轮廓组件,位于组件板的 Additional 页,用于创建斜面立体轮廓框架以美化界面。通过 Shape 和 Style 属性可将其显示为框架状或线状,外观凸或凹( raised or lowered) 。参考代码:思考:当 Gauge 组件的 MaxValue 属性值100 时(例如 1000 或未知) ,如何保证该组件

14、的进度值每次增加 1%?3. 用 PageControl 组件创建多页面界面(1)根据本章第 3 节所述,练习为 PageControl 组件添加页面、访问指定页和活动页、处理页面切换事件。(2)选做教材 189193 页【例 8-6】 。4. LabeledEdit 组件练习( 补充)LabeledEdit 组件是带有标签的编辑框,即将标签和单行文本框封装为一个组件。使用该组件可以使界面设计更加快捷,尤其适用于需要用标签对文本框作说明的情况。特殊属性:LabelPosition:用于指定标签相对于编辑框的位置(上下左右) 。LabelSpacing:用于指定标签与编辑框之间的间隔(以像素为单位) 。EditLabel:用于指定标签的有关子属性,如 Caption、Font 等。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报