- 1 Access樹控件 開發(fā)歷程
- 2 微軟樹控件的缺點(diǎn)
- 2.1 版本兼容出錯(cuò)
- 2.2 不支持64位的Office
- 3 Access樹控件的優(yōu)點(diǎn)
- 4 Access擴(kuò)展控件庫--版本選擇
- 5 Access擴(kuò)展控件庫--樹控件的創(chuàng)建和添加節(jié)點(diǎn)
- 6 Access擴(kuò)展控件庫--樹控件節(jié)點(diǎn)圖標(biāo)
- 7 Access擴(kuò)展控件庫--樹控件常用屬性
- 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 對(duì)象)
- 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擴(kuò)展控件庫--樹控件常用方法
- 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擴(kuò)展控件庫--樹控件常用事件
- 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擴(kuò)展控件庫--樹控件節(jié)點(diǎn)圖標(biāo)
- 2017-07-06 14:50:41
- zstmtony
- 5520
- 最后編輯:zstmtony 于 2020-03-23 17:39:24
看本文前請(qǐng)先看《樹控件的創(chuàng)建和添加節(jié)點(diǎn)》一文中對(duì)創(chuàng)建樹控件的Create方法的詳細(xì)說明,Create的Style參數(shù)控制樹控件是否顯示節(jié)點(diǎn)圖標(biāo),IconSize參數(shù)控制圖標(biāo)大小。
節(jié)點(diǎn)的展開、收縮和選擇三種狀態(tài)可以分別顯示不同的圖標(biāo)。添加節(jié)點(diǎn)時(shí)通過Add方法的Image和SelectedImage參數(shù)設(shè)置節(jié)點(diǎn)收縮時(shí)的圖標(biāo)和節(jié)點(diǎn)選擇時(shí)的圖標(biāo)。節(jié)點(diǎn)還有Image、SelectedImage和ExpandedImage屬性,也可通過這些屬性設(shè)置節(jié)點(diǎn)圖標(biāo),其中ExpandedImage屬性用于設(shè)置節(jié)點(diǎn)展開時(shí)的圖標(biāo)。這些參數(shù)和屬性的值是一個(gè)長(zhǎng)整型數(shù)字,代表一個(gè)圖標(biāo)索引,這個(gè)圖標(biāo)索引從何而來?圖標(biāo)不是憑空來的,我們要提前把所有要用到的圖標(biāo)加載到一個(gè)地方,這些圖標(biāo)加載的先后順序就是它們的索引。那么如何加載圖標(biāo),加載到哪里?
微軟樹控件的做法,是在窗體上放置一個(gè)圖像列表控件,設(shè)計(jì)視圖下將圖標(biāo)手動(dòng)添加保存到圖像列表控件,再把樹控件和圖像列表控件綁定,然后通過圖標(biāo)索引引用圖像列表控件中的圖標(biāo)。
擴(kuò)展庫樹控件不需要圖像列表控件來保存圖標(biāo),用代碼動(dòng)態(tài)加載圖標(biāo)到樹控件本身。有AddImage和AddImageGroup兩個(gè)方法添加圖標(biāo)。
AddImage方法一次添加一個(gè)圖標(biāo),多次調(diào)用AddImage方法可添加多個(gè)圖標(biāo),圖標(biāo)索引就是添加的先后順序,第一個(gè)添加的圖標(biāo)索引是1,第二個(gè)是2,以此類推。
以下代碼從磁盤添加一個(gè)圖標(biāo):
Treeview0.AddImage “D:\Icon\forward.ico”, 16, 16, 16777215
AddImage方法有4個(gè)參數(shù),第一個(gè)參數(shù)指定一個(gè)圖片文件,支持ico、bmp、gif、jpeg、png等常用格式,這里指定D:\Icon\forward.ico這個(gè)圖標(biāo)文件;第二和第三個(gè)參數(shù)用于縮放載入后圖標(biāo)的尺寸,這里把長(zhǎng)和寬都縮放為16個(gè)像素,注意這個(gè)尺寸不一定是節(jié)點(diǎn)實(shí)際顯示圖標(biāo)大小,節(jié)點(diǎn)圖標(biāo)大小是創(chuàng)建樹控件時(shí)通過IconSize參數(shù)指定的,比如這兩個(gè)參數(shù)都設(shè)為32,會(huì)載入一個(gè)32*32像素的圖標(biāo),但如果創(chuàng)建時(shí)IconSize參數(shù)設(shè)為IconSmall(16*16),則節(jié)點(diǎn)實(shí)際顯示的圖標(biāo)大小是16*16,只顯示圖標(biāo)的一半,超出部分不顯示,所以這兩個(gè)參數(shù)的設(shè)置最好和創(chuàng)建時(shí)的IconSize參數(shù)一致。其實(shí)這兩個(gè)參數(shù)和IconSize參數(shù)默認(rèn)值都是16,如果使用16*16大小的圖標(biāo),這幾個(gè)參數(shù)可以留空;最后一個(gè)參數(shù)指定圖像的透明色,可以使圖像指定顏色部分變透明,默認(rèn)值是-1(不指定透明色),對(duì)本身有透明效果的圖像,如ico圖標(biāo)、gif圖片、png圖片,可不指定透明色,使用默認(rèn)值。
上面的示例代碼是添加磁盤上的一個(gè)圖標(biāo)文件,程序運(yùn)行時(shí)磁盤上必須存在該文件。能不能不帶著圖標(biāo)文件呢?答案是肯定的!AddImage方法的第一個(gè)參數(shù),既可以是一個(gè)圖標(biāo)文件名,也可以是一個(gè)Access圖像框,這樣就可以先在窗體上添加圖像框,把圖標(biāo)保存到圖像框中,添加圖標(biāo)時(shí)調(diào)用圖像框,以下代碼從窗體上的一個(gè)圖像框添加圖標(biāo):
Treeview0.AddImage Me.Image0, 16, 16, 16777215
AddImageGroup方法可添加一個(gè)圖片中的多個(gè)圖標(biāo)。需要先制作一個(gè)包含多個(gè)圖標(biāo)的圖片,然后AddImageGroup方法調(diào)用該圖片,示例代碼:
Treeview0.AddImageGroup “D:\Icon\MyIcons.bmp”, 16, 16, 16777215
AddImageGroup方法也有4個(gè)參數(shù),第一個(gè)參數(shù)是圖片文件(也可以是圖像框);第二和第三個(gè)參數(shù)是圖標(biāo)大小,這里和AddImage方法參數(shù)不一樣,不是把圖標(biāo)進(jìn)行縮放,而是根據(jù)這兩個(gè)參數(shù)對(duì)圖片進(jìn)行分割,得到多個(gè)圖標(biāo);第四個(gè)參數(shù)指定透明色,和AddImage方法參數(shù)一樣。
要制作包含多個(gè)圖標(biāo)的圖片, 可用Access擴(kuò)展控件庫提供的一個(gè)公共方法MergeImages(),調(diào)用該方法會(huì)彈出一個(gè)窗口,根據(jù)上面的提示步驟做就可以。
如圖: