1.以通讯录为例,删除通讯录里的成员,不仅删除该成员节点并且删除其信息。
if(m_setitme == NULL) //未选中节点
{
return;
}
if(m_setitme == m_tree.GetRootItem) //选中根节点
{
return;
}
Cstring str = m_tree.GetItemText(m_setitme); //获取该节点名称
m_contact -> DeleteContact(str); //删除该联系人信息
m_tree.DeleteItem(m_setitme); //删除该节点
CTime date;
date = CTime::CurrentTime(); //获取当前时间
m_date.SetTime(&date);
//清空信息显示,此处只举个例子
m_edit.SetWindowText(_T(""));
.......
2.删除联系人分组,但不删除联系人信息,将该联系人移入其他分组
HTREEITME hnextitem;
HTREEITME child = m_tree.GetChildItem(m_selitem); //获取该节点下的所有子节点
if(m_selitem != m_tree.GetRootItem())
{
while(child != NULL)
{
hnextitme = m_tree.GetNextItem(child); //获取该节点同级的下一节点
Cstring str = m_tree.GetItemText(child);
m_tree.DeleteItem(child);
m_tree.InsertItem(str, 1, 1, 插入的节点名称, TVI_LAST);
chlid = hnextitme ;
}
}
m_tree.DeleteItem(m_selitem);