在CListCtrl列表中,当我删除其中一行之后,如何让程序自动跳到下一行去,让它整行照样高亮显示。或者当我想实现up 和 down功能时候,咋跳到上一行和下一行,并高亮显示。用SetSelectionMark好像不行。谢谢!

解决方案 »

  1.   

    SetItemState(nPos, LVIS_SELECTED, LVIS_SELECTED);
    根据你的需求动态改动 nPos.
    取消选择为 SetItemState(nPos, 0, LVIS_SELECTED);
      

  2.   

    SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUS, LVIS_SELECTED|LVIS_FOCUS);
      

  3.   

    SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUS, LVIS_SELECTED|LVIS_FOCUS);
      

  4.   

    我用了这个ListView_SetExtendedListViewStyle(m_list.m_hWnd,LVS_EX_FULLROWSELECT);整行会是蓝色的选中状态,我用了你们SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);会是显示灰色的选中状态
      

  5.   

    删除后
    m_cListCtrl.SetFocus();
      

  6.   

    m_list.SetItemState(index,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
    m_list.SetFocus();