vc CTreeCtrl控制項

2021-05-24 21:58:05 字數 2342 閱讀 9378

樹控制(ctreectrl

) 主要用來顯示具有一定層次結構的資料項 ,如資源管理器中的磁碟目錄等,以供使用者在其中進行各種選擇。

樹控制中的每個資料項包 括資料項名稱的文字字串和用於表示該資料項的影象 ,每個資料項下面均可包含各種子項,整個結構就象目錄樹一樣。對於包含各種子項的資料項,可通過滑鼠雙 擊來展開或合攏 ,這可以通過控制樹的不同風格 來實現樹控制的不同顯示形態。

ctreectrl&treectrl 建立樹控制物件結構   

create 建立樹控制並繫結物件   

樹控制ctreectrl::create的呼叫格式如下:  

bool create( dword dwstyle, const rect& rect, cwnd* pparentwnd, uint nid );   

其中引數dwstyle用來確定樹控制的型別;

rect用來確定樹控制的大小和位置;

pparentwnd用來確定樹控制的父視窗,通用是乙個對話方塊並且不能為null;

nid用來確定樹控制的標識。樹控制的風格可以是下列值的組合:  

tvs_haslines 表示樹控制在各子項之間存在連線;

tvs_linesatroot 表示樹控制在根項之間存在連線;   

tvs_hasbuttons 表示樹控制視在父項左側存在展開合攏控制按鈕;  

tvs_editlabels 表示可以控制滑鼠單擊修改樹項的名稱;  

tvs_showselalways 表示選中項即使在視窗失去輸入焦點時仍然保持選中狀態;

tvs_disabledragdrop表示禁止樹控制傳送tvn_begindrag訊息

樹控制屬性類包括取得樹控制中項數getcount、

取得樹控制中項相對於父項的偏移值getindent、

取得樹控制影象列表控制控制代碼 getimagelist、

設定樹控制影象列表控制控制代碼setimagelist、

取得匹配下乙個樹項getnextitem、

判斷給定樹項是否包含子項 itemhaschildren、

取得樹項子項getchilditem、

取得下乙個同屬樹項getnextsiblingitem、

取得前乙個同屬樹項 getprevsiblingitem、

取得父樹項getparentitem、

取得第乙個可視樹項getfirstvisibleitem、

取得下乙個 可視樹項getnextvisible item、

取得前乙個可視的樹項getprevvisibleitem、

取得被選中的樹項getselecteditem、

取得根樹項 getrootitem、

取得樹項的屬性getitem、

設定樹項的屬性setitem、

取得樹項的狀態getitemstate、

設定樹項的狀態 setitemstate、

取得與樹項關聯影象getitemimage、

設定與樹項關聯影象setitemimage、

取得樹項文字 getitemtext、

設定樹項文字setitemtext、

取得樹項編輯控制控制代碼geteditcontrol等。

樹控制的操作方法包括插入乙個樹項insertitem、

刪除乙個樹項deleteitem、

刪除所有樹項deleteallitems、

展開或合攏樹 項的子項expand、

選中特定樹項selectitem、

選擇乙個樹項作為第乙個可視樹項selectsetfirstvisible、

編輯乙個可視的 樹項editlabel和排序給定父樹項的子樹項sortchildren等。

在使用樹控制時需要了解

兩個個非常重要的資料結構tv_item和tv_insertstruct

前乙個資料結構是用來表示樹控制的樹項資訊,

後乙個資料結構是用來定義將樹項增加到資料控制中所需要的資料內容。

另外,還需要nm_treeview、tv_dispinfo和tv_hittestinfo三個資料結構,

這幾個資料結構的定義方法如下:  

①基本資料項結構   

typedef struct _tv_item tv_item, far *lptv_item ;   

②插入樹項結構   

typedef struct _tv_inser tstructtv_insertstruct, far *lptv_insertstruct;   

其中插入的位置如果是tvi_first 或tvi_last ,則分別插入到樹控制的最前面或最後面,如果是tvi_sort ,則插入的樹項自動插入到合適的位置。   

VC CTreeCtrl用法總結

可能對vc掌握得太少了,同樣的控制項,c 為什麼用起來那麼簡練,暈。htreeitem hitem1a m tree.insertitem t 根 tvi root 新增根節點的兩種方法 htreeitem hitem1a m tree.insertitem t 根 0,0 htreeitem hi...

C 控制項 MenuStrip控制項(選單控制項)

一 概述 選單通過存放按照一般主題分組的命令將功能公開給使用者。menustrip 控制項是此版本的 visual studio 和 net framework 中的新功能。使用該控制項,可以輕鬆建立 microsoft office 中那樣的選單。menustrip 控制項支援多文件介面 mdi ...

隱藏控制項 HiddenField控制項

hiddenfield 控制項hiddenfield 控制項顧名思義就是隱藏輸入框的伺服器控制項 它能讓你儲存那些不需要顯示在頁面上的且對安全性要求不高的資料。也許這個時候應該有這麼乙個疑問,為什麼有了 viewstate session 和cookie 等狀態儲存機制,還需要用起 hiddenfi...