CTreeCtrl控制項

2021-09-30 10:47:11 字數 2236 閱讀 6763

在這裡,你可以獲得以下資訊:

1. ctreectrl 樣式及設定

2. 擴充套件樣式設定

3. 資料插入

ctreectrl控制項

+cobject

+ccmdtarget

+cwnd

+ctreectrl

1. ctreectrl 樣式及設定

long lstyle;

lstyle=getwindowlong(m_treectrl.m_hwnd, gwl_style); //獲取當前視窗style

lstyle &= ~lvs_typemask; //清除顯示方式位

lstyle |= tvs_hasbuttons //有按鈕(+-號)

|tvs_haslines //線條

|tvs_linesatroot //根部線

|tvs_checkboxes; //單選框

setwindowlong(m_treectrl.m_hwnd, gwl_style, lstyle);

2. 擴充套件樣式設定

dword dwstyle = m_treectrl.getstyle();

dwstyle &= ~lvs_typemask; //清顯示位

dwstyle |= ws_ex_staticedge; //靜態邊緣

m_treectrl.modifystyleex(0, dwstyle);

3. 資料插入

//直插

cstring str;

htreeitem hrootitem;

hrootitem=m_treectrl.insertitem("root");

for(int i=0; i<8; i++)

//tvinsertstruct 結構插法

tvitem tvitem;

tvitem.mask=tvif_text;

tvitem.psztext="item by tvitem";

tvinsertstruct tvstruct;

tvstruct.hparent=m_treectrl.insertitem("root-2");

tvstruct.hinsertafter=tvi_first; //tvi_root;

tvstruct.item=tvitem; //做為乙個引數傳遞

m_treectrl.insertitem(&tvstruct);

//---------------------相關資訊-----------------------------

header:這3個結構定義在commctrl.h

//tvinsertstruct 結構

typedef struct tagtvinsertstruct dummyunionname;

#else

tvitem item;

#endif

} tvinsertstruct, far *lptvinsertstruct;

//tvitem 結構

typedef struct tagtvitem

tvitem, far *lptvitem;

//nmtreeview 結構

typedef struct tagnmtreeview nmtreeview, far *lpnmtreeview;

注1: 

(tvinsertstruct )

tvi_first 在列表的開始插入項

tvi_last 在列表的最後插入項

tvi_root 作為乙個根項新增

tvi_sort 以字母順序插入項

注2: 

(tvitem )

指出其它的結構成員哪些包含有效資料的標記陣列。當這個結構被tvm_getitem訊息使用時,mask成員指出項的屬性被取回。這個成員可以是下列值的乙個或多個。

tvif_children cchildren成員是有效的。

tvif_di_setitem 樹形視控制項將保留支援資訊並且不重新請求它。當處理tvn_getdispinf通知時,這個標記是有效的。

tvif_handle hitem成員有效。

tvif_image iimage成員有效。

tvif_param lparam成員有效。

tvif_selectedimage iselectedimage成員有效。

tvif_state state和statemask成員有效。

tvif_text psztext和cchtextmax成員有效。

CTreeCtrl 控制項的用法

樹形控制項在介面程式設計中應用十分普遍,如在資源管理器中和樹形結構顯示書的目錄等,我們一步步研究樹形控制項的使用。在對話方塊介面上首先拖動建立乙個樹,一般我們改變三個屬性 has buttons顯示帶有 或 的小方框,表示某項能否被展開或已展開,預設為選中,我們改為選中。has lines在父項與子...

MFC 樹控制項CTreeCtrl

常用屬性設定 屬性 含義 has buttons true 有展開按鈕 has lines true 有展開線 lines at root true 有根節點 常用介面 介面 功能 獲取應用程式物件指標 載入自定義圖示 cimagelist create 建立影象列表 cimagelist add ...

MFC樹控制項CTreeCtrl

屬性 含義 has buttons true 有展開按鈕 has lines true 有展開線 lines at root true 有根節點 介面 功能 獲取應用程式物件指標 載入自定義圖示 cimagelist create 建立影象列表 cimagelist add 影象列表追加圖示 ctr...