树形控件 IDC_TREE 变量:m_tree 以下属性为true:Has buttons, Has lines, Lines ar root, Always show selection
文本框:IDC_EDT_TEXT
按钮: IDC_BTN_ADD, IDC_BTN_EDIT, IDC_BTN_DELETE 分别为三个按钮添加相应函数:
void CTreeCtrlDemoDlg::OnBnClickedBtnAdd()
{
// TODO: 在此添加控件通知处理程序代码
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);
}
voi