树形控件(Tree Control)

来源:互联网 发布:js循环给数组赋值 编辑:程序博客网 时间:2024/05/15 03:49
///"添加"按钮的响应函数void CTreeCtrlDemoDlg::OnBtnAdd() {// TODO: Add your control notification handler code here///获取用户的输入CString strText;GetDlgItemText(IDC_EDT_TEXT, strText);if(strText.GetLength() == 0){AfxMessageBox(_T("请输入文本!"));return ;}///获取当前所选结点HTREEITEM hItem = m_tree.GetSelectedItem();///如果当前没有选中节点,则添加根节点if(hItem== NULL){hItem = TVI_ROOT;}///节点数据TVINSERTSTRUCT ts = {0};//新节点的父节点ts.hParent = hItem;///新节点添加在同级节点最后ts.hInsertAfter = TVI_LAST;///新节点的文本ts.item.pszText = (LPTSTR)(LPCTSTR)strText;///让文本成员有效ts.item.mask = TVIF_TEXT;///添加新节点HTREEITEM hNewItem = m_tree.InsertItem(&ts);///选中新节点   m_tree.SelectItem(hNewItem);///确保新节点在可视范围内m_tree.EnsureVisible(hNewItem);}///"删除"按钮的响应函数void CTreeCtrlDemoDlg::OnBtnDelete() {// TODO: Add your control notification handler code here///获取当前所选结点HTREEITEM hItem = m_tree.GetSelectedItem();if(hItem ==NULL){AfxMessageBox(_T("请选择一个结点!"));return ;}//取得当前结点的父节点HTREEITEM hParent = m_tree.GetParentItem(hItem);///删除结点m_tree.DeleteItem(hItem);///选中其父节点m_tree.SelectItem(hParent);}///"修改"按钮的消息响应函数void CTreeCtrlDemoDlg::OnBtnEdit() {// TODO: Add your control notification handler code here///获取当前选中的结点HTREEITEM hItem = m_tree.GetSelectedItem();if(hItem == NULL){AfxMessageBox(_T("请选择一个节点!"));return ; }///获取用户的输入CString strText;GetDlgItemText(IDC_EDT_TEXT , strText);if(strText.GetLength() == 0){AfxMessageBox(_T("请输入文本!"));return ;}///修改结点文本m_tree.SetItemText(hItem,strText);}///树形控件“TVN_SELCHANGEED”通知消息的响应函数///控件当前结点改变时的消息处理void CTreeCtrlDemoDlg::OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult) {NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;// TODO: Add your control notification handler code here///获取当前所选结点HTREEITEM hItem = m_tree.GetSelectedItem();if(hItem != NULL){///获取结点文本CString strText= m_tree.GetItemText(hItem);///将结点文本显示在文本框中SetDlgItemText(IDC_EDT_TEXT , strText);}*pResult = 0;}


界面解释:

树形控件ID为IDC_TREE,关联变量m_tree ,选中style:has buttons 、has lines 、lines at root 、show selection always;

按钮ID为IDC_BTN_ADD、IDC_BTN_EDIT、 IDC_BTN_DELETE

文本框ID为IDC_EDT_TEXT







原创粉丝点击