首页 > 代码库 > 认识CTreeCtrl

认识CTreeCtrl

CTreeCtrl控件属性

CTreeCtrl添加根项

CTreeCtrl添加子项

 

 

一、CTreeCtrl控件属性

先设置CTreeCtrl的属性:

Has Lines          true 显示关系线

Lines at root        true 显示根结点的 关系线和+-号

Has Button         true  显示+-号

Edit Labels         true 则对应 鼠标单击修改树项的名称

 

//窗口样式 Create函数时用

CTreeCtrl::Create的调用格式如下:

BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );

dwStyle可以是以下值的组合

TVS_HASLINES     表示树控制在各子项之间存在连线;

TVS_LINESATROOT 表示树控制在根项之间存在连线;

TVS_HASBUTTONS 表示树控制视在父项左侧存在展开合拢控制按钮;

TVS_EDITLABELS  表示可以控制鼠标单击修改树项的名称;

TVS_SHOWSELALWAYS 表示选中项即使在窗口失去输入焦点时仍然保持选中状态;

TVS_DISABLEDRAGDROP表示禁止树控制发送TVN_BEGINDRAG消息

二、CTreeCtrl添加根项

HTREEITEM InsertItem(

LPCTSTR lpszItem, //

HTREEITEM hParent = TVI_ROOT,

HTREEITEM hInsertAfter = TVI_LAST

);

 

//位置

#define TVI_ROOT                ((HTREEITEM)(ULONG_PTR)-0x10000)

#define TVI_FIRST                ((HTREEITEM)(ULONG_PTR)-0x0FFFF)

#define TVI_LAST                ((HTREEITEM)(ULONG_PTR)-0x0FFFE)

#define TVI_SORT                ((HTREEITEM)(ULONG_PTR)-0x0FFFD)

 

 

三、CTreeCtrl添加子项

HTREEITEM InsertItem(

LPCTSTR lpszItem, //

HTREEITEM hParent = TVI_ROOT, //指定父项

HTREEITEM hInsertAfter = TVI_LAST //指定插入位置 在hInsertAfter 之后

);

 

// TODO: 在此添加控件通知处理程序代码

         CTreeCtrl* ptree=(CTreeCtrl*)GetDlgItem(IDC_TREE1);

         HTREEITEM hitem=ptree->InsertItem(L"我的电脑");

         //插入子项

         ptree->InsertItem(L"AAAA",hitem,TVI_LAST);

         ptree->InsertItem(L"BBBB",hitem,TVI_LAST);

                  HTREEITEM hsubitem        =ptree->InsertItem(L"CCC",hitem,TVI_LAST);              

                                                               ptree->InsertItem(L"3333",hsubitem,TVI_SORT);

                                                               ptree->InsertItem(L"1111",hsubitem,TVI_SORT);  

                                                               ptree->InsertItem(L"2222AAAA",hsubitem,TVI_SORT);

                                                               ptree->InsertItem(L"2222",hsubitem,TVI_SORT);

         ptree->InsertItem(L"我的文档");

         ptree->InsertItem(L"网上邻居");

}