**一、准备工作**
先把库文件(Access2003环境用AccExCtl.mde,32位Access2007以上环境用AccExCtl.accde,64位Access用AccExCtl\_64.accde)复制到你的mdb(或accdb)文件所在目录,然后打开你的mdb(或accdb)进入vba编辑器,引用这个库文件。
引用库文件的参考步骤:vba编辑器菜单栏—\>工具—\>引用—\>浏览—\>在查找范围框中定位到库文件所在目录—\>在文件类型框选择所有文件—\>选择库文件—\>打开—\>在可使用的引用中可以看到勾选了AccExCtlLib,然后单击确定。
![](http://www.office-cn.net/data/upload/201707/f_f9165c40d80ff2c78f9612e5c2410e8b.png)
**二、创建树控件**
在窗体上添加内置控件,是先用鼠标在控件工具箱中选择,然后在窗体上点击,控件就出来了,但这个树控件不能这样创建,必须用代码创建,同时需要提供一个矩形框和一个命令按钮,如果要使树节点可编辑,还需提供一个文本框。
参考步骤:
1.打开窗体的设计视图,在窗体上添加一个矩形框和一个命令按钮。
矩形框的作用是作为树控件的躯壳,矩形框放在哪里,有多大,树控件就在哪里,就有多大,可以把这个矩形框当作是树控件。命令按钮的作用是让树控件可以获得焦点,以及指定树控件的Tab顺序,命令按钮的Tab顺序就是树控件的Tab顺序。命令按钮的大小位置可以随意,但必须和矩形框在同一个节上!这两个控件专门给树控件使用,不要再作其他用途。
2.进入窗体的代码视图,在通用部分输入一行代码:
~~~
Dim WithEvents TreeView0 As TreeView
~~~
这一句是声明一个模块级的树控件类变量,这个变量就代表树控件,可以在整个窗体代码中使用。注意声明时必须使用WithEvents关键字,否则不能使用树控件的事件。
3.在窗体的加载事件过程中输入两行代码:
~~~
Set TreeView0 = New TreeView
TreeView0.Create Me.Box0, Me.Command1 , tvwTreelinesPlusMinusText
~~~
第一行把树控件实例化,实例化后才能使用树控件的各种方法属性。
第二行使用Create方法在窗体上创建树控件,Create方法的第一和第二个参数分别为之前在窗体上添加的矩形框和命令按钮,第三个参数指定树控件的显示样式,其他的参数暂时不输入,使用默认值。各参数的具体含义附在本文后面。
这时已经在窗体上创建了树控件,但这个树控件只有个边框,里面还是空的什么都没有。
**三、添加节点**
通过树控件的节点集合(Nodes)的Add方法添加节点。在窗体的加载事件继续输入代码:
~~~
TreeView0.Nodes.Add , , "k0", "水果"
TreeView0.Nodes.Add "k0", tvwChild, "k01", "苹果"
TreeView0.Nodes.Add "k01", tvwChild, "k011", "红富士"
TreeView0.Nodes.Add "k01", tvwChild, "k012", "国光"
~~~
具体的方法参数说明请看后面的附文。
**四、销毁树控件**
现在已输入好创建树控件和添加节点的代码,你可能急不可待的要打开窗体看看效果了吧。别急,还有一件事情必须要做,就是在窗体卸载时将树控件销毁,否则可能会造成程序崩溃!
在窗体卸载事件输入如下一行代码即可:
~~~
Set TreeView0 = Nothing
~~~
![](file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1918333016/QQ/WinTemp/RichOle/$RAQUEUYCM$XBRS]H$%60~5[K.png)![](http://www.office-cn.net/data/upload/201707/f_4f2d17b487311006f4580803ee471905.png)
![](file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/1918333016/QQ/WinTemp/RichOle/$RAQUEUYCM$XBRS]H$%60~5[K.png)
OK,现在可以保存,关闭,再打开窗体看看效果吧!
**附 树控件的创建和添加节点方法参考说明**
**树控件的Create方法**
在窗体上创建可见的树控件,创建成功则返回True。
**语法**
*表达式*.**Create(Container, FocusButton, Style, LineStyle, IconSize, WindowsThemeStyle)**
*表达式*一个代表TreeView(树控件对象)的变量
**参数**
*Container*:Access内置矩形框控件,必选,作为树的显示容器
*FocusButton*:Access内置命令按钮,必选,使树可以接收焦点、键盘输入,指定树的Tab顺序
*Style*:树控件节点显示样式,可选,TreeStyleConstants值之一
tvwTextOnly ........................仅文本
tvwPictureText......................图标+文本
tvwPlusMinusText....................加减号+文本
tvwPlusPictureText..................加减号+图标+文本
tvwTreelinesText ...................连线+图标+文本
tvwTreelinesPictureText ............连线+加减号+文本
tvwTreelinesPlusMinusText ..........连线+加减号+文本
tvwTreelinesPlusMinusPictureText ...连线+加减号+图标+文本(默认)
*LineStyle*:节点连线样式,可选,TreeLineStyleConstants值之一
tvwTreeLines .......................不显示根节点连线,
tvwRootlines .......................显示显示根节点连线(默认)
*IconSize*:节点图标尺寸,可选,enumIconSize值之一
IconNone ..........................无图标
IconSmall ......................... 16\*16(宽16像素,高16像素)(默认)
IconSize24 ........................ 24\*24
IconLarge ......................... 32\*32
IconSize48 ........................ 48\*48
*WindowsThemeStyle*:树控件主题样式,可选,ThemeStyleConstants值之一
tsNoTheme .........................不启用样式
tsWinXP ........................... XP样式(默认)
tsWinVista ........................ WinVista样式
**节点集合的Add方法**
向树控件中添加节点,成功可返回一个Node(节点)对象。
**语法**
*表达式*.**Add(Relative, Relationship, Key, Text, Image, SelectedImage, Expanded, NoReturnNode)**
*表达式*一个代表Nodes(树控件节点集合)的变量,可直接使用TreeView的Nodes属性。
**参数**
*Relative*:一个已存在的节点的键值,可以留空
*Relationship*:指定新节点和Relative的关系,TreeRelationshipConstants值
tvwFirst.......新节点为和Relative同级的第一个节点
tvwLast........新节点为和Relative同级的最后一个节点
tvwNext........新节点为Relative的下一个节点
tvwPrevious....新节点为Relative的上一个节点
tvwChild ......新节点为Relative的最后一个子节点
*Key*:新节点的键值
*Text*:新节点显示的文本
*Image*:新节点显示的图像,为使用AddImage或AddImageGroup添加的图像的索引
*SelectedImage*:新节点选中时显示的图像,为使用AddImage或AddImageGroup添加的图像的索引
*Expanded*:新节点是否展开
*NoReturnNode*:决定是否返回新节点的Node对象,否返回,是不返回,默认为否,不返回Node对象可加快添加节点的速度
- Access树控件介绍
- 微软树控件的缺点
- 版本兼容出错
- 不支持64位的Office
- Access树控件的优点
- Access扩展控件库--树控件的创建和添加节点
- Access扩展控件库--树控件节点图标
- Access扩展控件库--树控件常用属性
- Appearance 属性(ActiveX 控件)
- BackColor 属性(ActiveX 控件)
- BackPicture 属性(ActiveX 控件)
- BorderStyle 属性(ActiveX 控件)
- Checkboxes 属性
- Container 属性(ActiveX 控件)
- DropHighlight 属性(ListView 和 TreeView 控件)
- EditBox 属性(ActiveX 控件)
- Enabled 属性(ActiveX 控件)
- Font 属性(ActiveX 控件)
- FullRowSelect 属性(ActiveX 控件)
- Height 属性(ActiveX 控件)
- Access扩展控件库--树控件常用方法
- AboutBox 方法
- AddImage 方法
- AddImageGroup 方法
- CollapseAllNode 方法
- Create 方法
- Echo 方法
- ExpandAllNode 方法
- GetVisibleCount 方法
- HitTest 方法(ListView 和 TreeView 控件)
- Move 方法
- Refresh 方法
- SetFocus 方法
- Access扩展控件库--树控件常用事件
- AfterLabelEdit 事件(ListView 和 TreeView 控件)
- BeforeLabelEdit 事件(ListView 和 TreeView 控件)
- Click 事件
- Collapse 事件(TreeView 控件)
- DblClick 事件
- Expand 事件(TreeView 控件)
- GotFocus 事件
- KeyDown 事件
- KeyPress 事件
- KeyUp 事件
- Access树控件注意问题
- Access树控件(treeview) 64位Office下出现横向滚动条不会自动定位的解决办法
- Access中国树控件 在win10电脑 节点行间距太小的解决办法
- 详细属性和事件