1、创建一个MFC基于对话框的新项目
过程如下:
按确定后->下一步->基于对话框->完成
2、添加一个tree control、一个edit control和三个button,并把button名改为如下图,打开tree control的属性,将 Lines At Root、Has Lines、Has Button和Always Show Selectio改为True
3、双击 添加 按钮,输入以下程序
// TODO: 在此添加控件通知处理程序代码
CString strText;
GetDlgItemText(IDC_EDIT1, 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 = strText.GetBuffer();
ts.item.mask = TVIF_TEXT;
HTREEITEM hNewItem = m_tree.InsertItem(&ts);
m_tree.SelectItem(hNewItem);
m_tree.EnsureVisible(hNewItem);
4、双击 删除按钮输入以下程序
// TODO: 在此添加控件通知处理程序代码
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);
5、双击修改按钮,输入程序
HTREEITEM hItem = m_tree.GetSelectedItem();
if (hItem==NULL)
{
AfxMessageBox(_T("请选择一个节点"));
return;
}
CString strText;
GetDlgItemText(IDC_EDIT1, strText);
if (strText.GetLength()==0)
{
AfxMessageBox(_T("请输入文本"));
return;
}
m_tree.SetItemText(hItem, strText);