- 1 Access树控件 开发历程
- 2 微软树控件的缺点
- 2.1 版本兼容出错
- 2.2 不支持64位的Office
- 3 Access树控件的优点
- 4 Access扩展控件库--版本选择
- 5 Access扩展控件库--树控件的创建和添加节点
- 6 Access扩展控件库--树控件节点图标
- 7 Access扩展控件库--树控件常用属性
- 7.1 Appearance 属性(ActiveX 控件)
- 7.2 BackColor 属性(ActiveX 控件)
- 7.3 BackPicture 属性(ActiveX 控件)
- 7.4 BorderStyle 属性(ActiveX 控件)
- 7.5 Checkboxes 属性
- 7.6 Container 属性(ActiveX 控件)
- 7.7 DropHighlight 属性(ListView 和 TreeView 控件)
- 7.8 EditBox 属性(ActiveX 控件)
- 7.9 Enabled 属性(ActiveX 控件)
- 7.10 Font 属性(ActiveX 控件)
- 7.11 FullRowSelect 属性(ActiveX 控件)
- 7.12 Height 属性(ActiveX 控件)
- 7.13 HideSelection 属性(ActiveX 控件)
- 7.14 HotTracking 属性
- 7.15 Indentation 属性
- 7.16 ItemHeight 属性(ActiveX 控件)
- 7.17 LabelEdit 属性
- 7.18 Left 属性(ActiveX 控件)
- 7.19 LineStyle 属性(TreeView 控件)
- 7.20 MaxNodeCount 属性(ActiveX 控件)
- 7.21 Nodes 属性
- 7.22 Object 属性(ActiveX 控件)
- 7.23 OleDragMode 属性(ActiveX 控件)
- 7.24 OleDropMode 属性(ActiveX 控件)
- 7.25 PathSeparator 属性(TreeView控件)
- 7.26 Parent 属性(Node 对象)
- 7.27 ScaleMode 属性(ActiveX 控件)
- 7.28 Scroll 属性
- 7.29 SelectedBackColor 属性(ActiveX 控件)
- 7.30 SelectedForeColor 属性(ActiveX 控件)
- 7.31 SelectedItem 属性(ActiveX 控件)
- 7.32 SelectedNoFocusBackColor 属性(ActiveX 控件)
- 7.33 SelectedNoFocusForeColor 属性(ActiveX 控件)
- 7.34 SingleSel 属性
- 7.35 Style 属性(TreeView 控件)
- 7.36 Tag 属性(ActiveX 控件)
- 7.37 TextColor 属性(ActiveX 控件)
- 7.38 ToolTips 属性(ActiveX 控件)
- 7.39 Top 属性(ActiveX 控件)
- 7.40 Visible 属性(ActiveX 控件)
- 7.41 Width 属性(ActiveX 控件)
- 8 Access扩展控件库--树控件常用方法
- 8.1 AboutBox 方法
- 8.2 AddImage 方法
- 8.3 AddImageGroup 方法
- 8.4 CollapseAllNode 方法
- 8.5 Create 方法
- 8.6 Echo 方法
- 8.7 ExpandAllNode 方法
- 8.8 GetVisibleCount 方法
- 8.9 HitTest 方法(ListView 和 TreeView 控件)
- 8.10 Move 方法
- 8.11 Refresh 方法
- 8.12 SetFocus 方法
- 9 Access扩展控件库--树控件常用事件
- 9.1 AfterLabelEdit 事件(ListView 和 TreeView 控件)
- 9.2 BeforeLabelEdit 事件(ListView 和 TreeView 控件)
- 9.3 Click 事件
- 9.4 Collapse 事件(TreeView 控件)
- 9.5 DblClick 事件
- 9.6 Expand 事件(TreeView 控件)
- 9.7 GotFocus 事件
- 9.8 KeyDown 事件
- 9.9 KeyPress 事件
- 9.10 KeyUp 事件
- 9.11 LostFocus 事件
- 9.12 MouseDown 事件
- 9.13 MouseMove 事件
- 9.14 MouseUp 事件
- 9.15 NodeCheck 事件
- 9.16 NodeClick 事件
- 9.17 OLECompleteDrag 事件
- 9.18 OLEDragDrop 事件
- 9.19 OLEDragOver 事件
- 9.20 OLEGiveFeedback 事件
- 9.21 OLESetData 事件
- 9.22 OLEStartDrag 事件
- 10 Access树控件注意问题
Access扩展控件库--树控件节点图标
- 2017-07-06 14:50:41
- zstmtony
- 5301
- 最后编辑:zstmtony 于 2020-03-23 17:39:24
看本文前请先看《树控件的创建和添加节点》一文中对创建树控件的Create方法的详细说明,Create的Style参数控制树控件是否显示节点图标,IconSize参数控制图标大小。
节点的展开、收缩和选择三种状态可以分别显示不同的图标。添加节点时通过Add方法的Image和SelectedImage参数设置节点收缩时的图标和节点选择时的图标。节点还有Image、SelectedImage和ExpandedImage属性,也可通过这些属性设置节点图标,其中ExpandedImage属性用于设置节点展开时的图标。这些参数和属性的值是一个长整型数字,代表一个图标索引,这个图标索引从何而来?图标不是凭空来的,我们要提前把所有要用到的图标加载到一个地方,这些图标加载的先后顺序就是它们的索引。那么如何加载图标,加载到哪里?
微软树控件的做法,是在窗体上放置一个图像列表控件,设计视图下将图标手动添加保存到图像列表控件,再把树控件和图像列表控件绑定,然后通过图标索引引用图像列表控件中的图标。
扩展库树控件不需要图像列表控件来保存图标,用代码动态加载图标到树控件本身。有AddImage和AddImageGroup两个方法添加图标。
AddImage方法一次添加一个图标,多次调用AddImage方法可添加多个图标,图标索引就是添加的先后顺序,第一个添加的图标索引是1,第二个是2,以此类推。
以下代码从磁盘添加一个图标:
Treeview0.AddImage “D:\Icon\forward.ico”, 16, 16, 16777215
AddImage方法有4个参数,第一个参数指定一个图片文件,支持ico、bmp、gif、jpeg、png等常用格式,这里指定D:\Icon\forward.ico这个图标文件;第二和第三个参数用于缩放载入后图标的尺寸,这里把长和宽都缩放为16个像素,注意这个尺寸不一定是节点实际显示图标大小,节点图标大小是创建树控件时通过IconSize参数指定的,比如这两个参数都设为32,会载入一个32*32像素的图标,但如果创建时IconSize参数设为IconSmall(16*16),则节点实际显示的图标大小是16*16,只显示图标的一半,超出部分不显示,所以这两个参数的设置最好和创建时的IconSize参数一致。其实这两个参数和IconSize参数默认值都是16,如果使用16*16大小的图标,这几个参数可以留空;最后一个参数指定图像的透明色,可以使图像指定颜色部分变透明,默认值是-1(不指定透明色),对本身有透明效果的图像,如ico图标、gif图片、png图片,可不指定透明色,使用默认值。
上面的示例代码是添加磁盘上的一个图标文件,程序运行时磁盘上必须存在该文件。能不能不带着图标文件呢?答案是肯定的!AddImage方法的第一个参数,既可以是一个图标文件名,也可以是一个Access图像框,这样就可以先在窗体上添加图像框,把图标保存到图像框中,添加图标时调用图像框,以下代码从窗体上的一个图像框添加图标:
Treeview0.AddImage Me.Image0, 16, 16, 16777215
AddImageGroup方法可添加一个图片中的多个图标。需要先制作一个包含多个图标的图片,然后AddImageGroup方法调用该图片,示例代码:
Treeview0.AddImageGroup “D:\Icon\MyIcons.bmp”, 16, 16, 16777215
AddImageGroup方法也有4个参数,第一个参数是图片文件(也可以是图像框);第二和第三个参数是图标大小,这里和AddImage方法参数不一样,不是把图标进行缩放,而是根据这两个参数对图片进行分割,得到多个图标;第四个参数指定透明色,和AddImage方法参数一样。
要制作包含多个图标的图片, 可用Access扩展控件库提供的一个公共方法MergeImages(),调用该方法会弹出一个窗口,根据上面的提示步骤做就可以。
如图: