ListCtrl设置为report风格怎样确定某一行被选中

解决方案 »

  1.   


    ////////////////////////////////////////////////////////////////int nIndex = m_ListCtrl.GetNextItem( -1 , LVNI_SELECTED );if ( nIndex == -1 )
    {
        MessageBox("当前没有选中的记录。");
        return;
    }////////////////////////////////////////////////////////////////
      

  2.   

    POSITION pos = m_ctrlList.GetFirstSelectedItemPosition();
    if (NULL == pos)
    {
    return;
    }
    int item = m_ctrlList.GetNextSelectedItem(pos);
      

  3.   


    CString tmp;
    for(int i=0; i<m_user_LIST.GetItemCount(); i++)
    {
           if(m_user_LIST.GetItemState(i, LVIS_SELECTED)==LVIS_SELECTED)
           {
       tmp=m_user_LIST.GetItemText(i,0); //取得号码
                break;
           }
    }通过循环判断获取选中行的第一列的数据
      

  4.   

    方法一:
          CString str;
          for(int i=0; i<m_list.GetItemCount(); i++)
          {
               if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
               {
                    str.Format(_T("选中了第%d行"), i);
                    AfxMessageBox(str);
               }
          }
          方法二:
          POSITION pos = m_list.GetFirstSelectedItemPosition();
          if (pos == NULL)
               TRACE0("No items were selected!\n");
          else
          {
               while (pos)
               {
                    int nItem = m_list.GetNextSelectedItem(pos);
                    TRACE1("Item %d was selected!\n", nItem);
                    // you could do your own processing on nItem here
               }
          }