• 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 }
  • 相关阅读:
    【ML-9-1】支持向量机--软硬间隔与支持向量机
    【ML-8】感知机算法-传统和对偶形式
    【ML-7】聚类算法--K-means和k-mediods/密度聚类/层次聚类
    【ML-7】聚类算法-实例代码
    【ML-6-2】集成学习-boosting(Adaboost和GBDT )
    【ML-6-1】集成学习-bagging(随机森林)
    【ML-5】决策树算法
    【ML-4】逻辑回归--用于分类
    【ML-3.1】梯度下降于牛顿法实例
    树状数组
  • 原文地址:https://www.cnblogs.com/runtimeexception/p/9212568.html
Copyright © 2020-2023  润新知