MFC入門示例之樹控件(CTreeControl)


 1 //增加按鈕
 2 void CMFCApplication8Dlg::OnBnClickedButtonAdd()
 3 {
 4     //樹中添加節點
 5     CString strText;
 6     GetDlgItemText(IDC_EDIT1, strText);
 7     if (strText.GetLength() == 0) {
 8         AfxMessageBox(TEXT("請輸入文本"));
 9         return;
10     }
11     HTREEITEM hItem = m_tree.GetSelectedItem();//獲取當前被選中的節點
12     if (hItem == NULL) 
13         hItem = TVI_ROOT;
14     
15     TVINSERTSTRUCT ts = { 0 };
16     ts.hParent = hItem;
17     ts.hInsertAfter = TVI_LAST;
18     ts.item.pszText = strText.GetBuffer();
19     ts.item.mask = TVIF_TEXT;
20     HTREEITEM hNewItem = m_tree.InsertItem(&ts);
21     m_tree.SelectItem(hNewItem);        //選中新加入的節點
22     m_tree.EnsureVisible(hNewItem);        //樹太高看不見問題
23 }
24 
25 //刪除按鈕
26 void CMFCApplication8Dlg::OnBnClickedButtonDel()
27 {
28     //獲取當前被選中的節點
29     HTREEITEM hItem = m_tree.GetSelectedItem();//獲取當前被選中的節點
30     if (hItem == NULL) {
31         AfxMessageBox(TEXT("請選擇一個節點"));
32         return;
33     }
34     HTREEITEM hParent = m_tree.GetParentItem(hItem);
35     m_tree.DeleteItem(hItem);
36     m_tree.SelectItem(hParent);
37 }
38 
39 //修改按鈕
40 void CMFCApplication8Dlg::OnBnClickedButtonUpdate()
41 {
42     //獲取當前被選中的節點
43     HTREEITEM hItem = m_tree.GetSelectedItem();//獲取當前被選中的節點
44     if (hItem == NULL) {
45         AfxMessageBox(TEXT("請選擇一個節點"));
46         return;
47     }
48     CString strText;
49     GetDlgItemText(IDC_EDIT1, strText);
50     if (strText.GetLength() == 0) {
51         AfxMessageBox(TEXT("請輸入文本"));
52         return;
53     }
54     m_tree.SetItemText(hItem, strText);
55 }
56 
57 //選中新節點事件
58 void CMFCApplication8Dlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
59 {
60     LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
61     //獲取當前被選中的節點
62     HTREEITEM hItem = m_tree.GetSelectedItem();//獲取當前被選中的節點
63     if (hItem != NULL) {
64         CString strText = m_tree.GetItemText(hItem);
65         SetDlgItemText(IDC_EDIT1, strText);        //選中節點文本添加到編輯框中
66     }
67 
68     *pResult = 0;
69 }

 


免責聲明!

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



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