CTreeCtrl 右键剪切,粘贴

HTREEITEM COa2BusinessModel::CopyItem(HTREEITEM hItem, HTREEITEM htiNewParent, HTREEITEM htiAfter)    //拷贝节点
{
    TVINSERTSTRUCT tvstruct;
    //得到源条目的信息
    tvstruct.item.hItem = hItem;
    tvstruct.item.mask = TVIF_CHILDREN|TVIF_HANDLE|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
    GetItem(&tvstruct.item);
    CString sText = GetItemText(hItem);
    tvstruct.item.cchTextMax = sText.GetLength();
    tvstruct.item.pszText=sText.LockBuffer();
    //将条目插入到合适的位置
    tvstruct.hParent = htiNewParent;
    tvstruct.hInsertAfter = htiAfter;
    tvstruct.item.mask = TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_TEXT;
    HTREEITEM hNewItem = InsertItem(&tvstruct);
    //sText.ReleaseBuffer();
    sText.UnlockBuffer();
    //限制拷贝条目数据和条目状态
    SetItemData(hNewItem, GetItemData(hItem));
    SetItemState(hNewItem, GetItemState(hItem, TVIS_STATEIMAGEMASK), TVIS_STATEIMAGEMASK);
    return hNewItem;
}

HTREEITEM COa2BusinessModel::CopyBranch(HTREEITEM htiBranch, HTREEITEM htiNewParent, HTREEITEM htiAfter)//拷贝分支
{
    HTREEITEM hChild;
    HTREEITEM hNewItem = CopyItem( htiBranch,htiNewParent,htiAfter );
    hChild = GetChildItem( htiBranch );
    while( hChild != NULL )
    {
        CopyBranch( hChild,hNewItem,htiAfter );
        hChild = GetNextSiblingItem( hChild );
    }
    return hNewItem;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值