MFC 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"網上鄰居");
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM