三小时掌握TREEVIEW控件 能不能掌握控件的使用,是业余向准专业进步的关键。虽然我本人不太喜欢用控件,因为基于不同的操作环境成品后效果很难保证。但有些成熟控件,会使用还是能提高软件水平。比如TREEVIEW控件,TREEVIEW控件,也叫树控件,主要用于层级显示和控制,应用广泛。我一直很想学习这个控件的使用,但每次都没有学成,总感觉很难。前几天有空,狠下心来将论坛搜索一遍,发现也不是太难,在很短时间内只要方法得当,很快可以掌握,因为我是菜鸟,所以用菜鸟的方法和大家交流,可能大家学得更快一点,只要你用心,三个小时一定可以掌握。请大家一定要自己动手做,只有做才能理解,光看帮助和说明是没有用的。 热身:理解层级概念,层级理论上可以有无限级,一般用到四,五级也够用了。最上级的只能有一个,我们把它叫做“爷”,接下来是“父”,再是“子”,再是“孙”,接下来是“曾孙”......,汇总如下:“爷,父,子,孙,曾孙”,这里是5级关系,除了“爷”只能有一个外,其余可以有无限个。记住这些,下面要用。 第一小时:学习直接用代码将数据填充到树控件中。 为什么要先学习直接用代码将数据填充到树控件中?因为这种方法是最简单的,代码也最容易理解,学习树控件,先将这个学会,已经掌握了一半,所以先不要急着想怎么将表中的数据填充到树控件中,在第一小时里,树控件和表完全没有关系。 目的:我们要在树控件中建立如下的一个3层级关系 水果 | |__苹果 | |__红富士 | |__国光 | |__葡萄 |__红提子 |__青提子 解释:水果包含2种,一种是苹果,一种是葡萄,苹果又包含2种,一种是红富士,一种是国光,葡萄也如此。 在这里:“爷”是水果,“父”是苹果,葡萄,“子”是红富士,国光,红提子,青提子。概括如下: 爷(只能有一个):水果 父(这里有2个):父1:苹果;父2:葡萄 子(这里有4个):子1:红富士(父1苹果的子);子2:国光(父1苹果的子);子3:红提子(父2葡萄的子);子4:青提子(父2葡萄的子) 1、新建一个窗体,在窗体上放置两个控件,一个是Treeview,一个是Imagelist 如何找到这两个控件? Treeview控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Treeview Control,Version 6.0" Imagelist控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Imagelist Control,Version 6.0" 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、写代码将数据填充到树控件中 代码写在哪里?我们希望窗体一打开,数据就自动填充在树控件中,所以这个代码就写在窗体的加载事件中,代码及解释如下: Private Sub Form_Load() '* ----------------------------------------------------------------- '*用代码将数据填充到树控件中 '* ----------------------------------------------------------------- Dim Nodeindex As Node '*------------------------------------------------------------------ '*解释:定义Node '*Node是树控件的对象 '*每个Node都有三个东西,图标,文本,索引值 '*图标和文本都是实际显示出来的,索引值是隐含的 '*------------------------------------------------------------------ '设置最顶级的“爷”: '* --------------------------- Set Nodeindex = TreeView.Nodes.Add(, , "爷", "水果", "K1") Nodeindex.Sorted = True '*------------------------------------------------------------------ '*树控件填充数据的方法是Nodes.Add '*括号内是Add方法的参数 '*在这里“爷”是索引值,“水果”是将显示的文本,“K1”是图标的索引值 '*Sorted是指Node的排序,True就是指采用排序,默认是按拼音 '*第一,二个参数是空的 '*具体的参数设置以后你可以慢慢详细研究 '*------------------------------------------------------------------ '设置第二级“父” '* --------------------------- Set Nodeindex = TreeView.Nodes.Add("爷", tvwChild, "父1", "苹果", "K1") Nodeindex.Sorted = True Set Nodeindex = TreeView.Nodes.Add("爷", tvwChild, "父2", "葡萄", "K1") Nodeindex.Sorted = True '*------------------------------------------------------------------ '*第一个参数“爷”是指这一层对应上层“爷”的 '*tvwChild参数是规定格式,指相对来说,这一层是爷的子层 '*“父1”是索引值,因为“父”有2个,而索引值是唯一的,所以要编号,用“父1”“父2”分开 '*“苹果”“葡萄”是要显示的文本,K1是显示图标的索引值 '*现在知道为什么在“爷”层设置时,第一,第二个参数是空的,因为这是最顶层 '*------------------------------------------------------------------ '设置第三级“子” '* --------------------------- Set Nodeindex = TreeView.Nodes.Add("父1", tvwChild, "子1", "红富士", "K1") Nodeindex.Sorted = True Set Nodeindex = TreeView.Nodes.Add("父1", tvwChild, "子2", "国光", "K1") Nodeindex.Sorted = True Set Nodeindex = TreeView.Nodes.Add("父2", tvwChild, "子3", "红提子", "K1") Nodeindex.Sorted = True Set Nodeindex = TreeView.Nodes.Add("父2", tvwChild, "子4", "青提子", "K1") Nodeindex.Sorted = True '*------------------------------------------------------------------ '*第一个参数“父1,2”是指这一层对应上层“父”的,但要注意对应的是“父1”还是“父2” '*tvwChild参数是规定格式,指相对来说,这一层是父的子层 '*“子1”是索引值,因为“子”有4个,而索引值是唯一的,所以要编号,用“1,2,3,4”分开 '*“红富士”等是要显示的文本,K1是显示图标的索引值 '*------------------------------------------------------------------ End Sub 就这么多代码,总共十几行,就可以在树控件中显示数据了,很简单吧。第一小时结束。 第二小时:学习怎样将树控件和数据库中的数据绑起来 目的:将数据库中的数据与树控件绑定 1、新建一个窗体,在窗体上放置两个控件,一个是Treeview,一个是Imagelist Private Sub Form_Load() '设置第三级"子" '设置第四级"孙" End Sub 第二小时结束 第三小时:将树控件与窗体结合 目的:将树控件与窗体结合 Private Sub Treeview_NodeClick(ByVal Node As Object) 明白了吧,所谓结合窗体,实际不过是进行窗体筛选而已。第三小时结束(5分钟也够了,哈哈) 学习很有乐趣,但写文章却很无聊,如果你通过这篇文章学会了树控件的基本使用,跟个贴吧,也好让我有点成就感。 请到源码/作品下载附件 |
|站长邮箱|小黑屋|手机版|Office中国/Access中国
( 粤ICP备10043721号-1 )
GMT+8, 2025-4-2 12:53 , Processed in 0.070305 second(s), 17 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.