树形控件节点及其信息删除

这篇博客介绍了如何在通讯录应用中实现删除联系人和联系人群组的功能。删除联系人时,不仅从通讯录中移除该成员的信息,还会从界面上删除对应的节点。而在删除联系人分组时,会将分组内的联系人转移到其他分组,保持联系人信息的完整。整个过程涉及到了数据结构的操作和界面更新。
摘要由CSDN通过智能技术生成

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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值