我知道某一项的index, 如何将这一项设为被选中的状态?(就像被鼠标点过一样)
要求以后GetFirstSelectPosition就可以得到它的位置。

解决方案 »

  1.   

    与ClistCtrl相同:
    GetListCtrl().SetItemState(GetListCtrl().GetItemCount() - 1, LVIS_SELECTED, LVIS_SELECTED);
      

  2.   

    采用
    m_List.SetFocus();
    m_List.SetItemState(0, LVIS_FOCUSED, LVIS_FOCUSED );
    m_List.SetItemState(0, LVIS_SELECTED, LVIS_SELECTED);
    模拟点击选中。然后通过
    POSITION pos = m_List.GetFirstSelectedItemPosition();
    int n = m_List.GetNextSelectedItem(pos);
    得到选中的项
      

  3.   

    m_List.SetItemState(12, LVIS_FOCUSED | LVIS_SELECTED,
    LVIS_FOCUSED | LVIS_SELECTED);
    POSITION poin = m_List.GetFirstSelectedItemPosition( );
    if(poin)
    {
    int nItem = m_List.GetNextSelectedItem(poin);
    CString str;
    str.Format("%d", nItem);
    AfxMessageBox(str);
    }