CLISTCTRL控件按住shift多选的时候我怎么得到多选的行,非常感谢!

解决方案 »

  1.   

    for(int i=0; i<m_list.GetItemCount(); i++)
    {
    if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
    {
     ...
    }
    }
      

  2.   

    The following code sample demonstrates the usage of this function.CListCtrl* pListCtrl = (CListCtrl*) GetDlgItem(IDC_YOURLISTCONTROL);
    ASSERT(pListCtrl != NULL);POSITION pos = pList->GetFirstSelectedItemPosition();
    if (pos == NULL)
       TRACE0("No items were selected!\n");
    else
    {
       while (pos)
       {
          int nItem = pList->GetNextSelectedItem(pos);
          TRACE1("Item %d was selected!\n", nItem);
          // you could do your own processing on nItem here
       }
    }
      

  3.   

    那我在点击的时候能不能判断是否按了shift键 最好是能得到我开始按的那一行到我结束的那一行
      

  4.   

    处理WM_LBUTTONDOWN消息
    OnLButtonDown(UINT nFlags, CPoint point ); nFlags 为 MK_SHIFT 时表示shift被按下