我想做一个类似播放器中使用的列表框,可以用鼠标来调整项目的顺序,却没有思路

解决方案 »

  1.   

    //假设
    //列表矿对象为m_wndListBox
    //第i项的文本为strUp,第i+1项的文本为strDown;
    //开始的时候鼠标点中了第i项,往下拖动的时候需要将第i项和第i+1项替换m_wndListBox.GetText(i, strUp);DWORD dwUp = m_wndListBox.GetItemData(i);m_wndListBox.GetText(i, strDown);
    DWORD dwDown = m_wndListBox.GetItemData(i);m_wndListBox.DeleteString(i);
    m_wndListBox.InsertString(i+1, strUp);
    m_wndListBox.SetItemData(i+1, dwUp);
    m_wndListBox.SetItemData(i, dwDown);m_wndListBox.SetCurSel(i+1);