- 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
- 5273
- 最後編輯: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(),調用該方法會彈齣一箇窗口,根據上麵的提示步驟做就可以。
如圖: