在list ctrl上显示了几个节点,选中一个节点后,我希望按下一个按钮后,这个节点向上移动一个,即被选中的节点和它上面的节点互换位置。请问应该如何实现。

解决方案 »

  1.   

    GetSelectionMark得到选中的pos
    GetItemText得到text
    SetItemText设置text
      

  2.   


    int pos = m_list.GetSelectionMark();
      CString strdown = m_list.GetItemText(pos,0);
    CString strup = m_list.GetItemText(pos-1,0);
    if (pos==0)
    {
    return;
    }
    m_list.SetItemText(pos,0,strup);
    m_list.SetItemText(pos-1,0,strdown);
      

  3.   

    这个可以,不过我前面还有图,如何把图也交换。有没有可以get到一个节点的方法,我看的msdn上好像只有得到当前选中的节点。
      

  4.   

    同意四楼观点,具体可以参考Clistctrl的成员函数,有的。