for (SelectedIndex = 0; SelectedIndex < m_ctrFileList.GetSelectedCount(); SelectedIndex++)
  {
    int ccc = m_ctrFileList.GetSelectionMark();
    pSourceFile = m_ctrFileList.GetItemText(m_ctrFileList.GetSelectionMark(), 0)
      ;
    pType = m_ctrFileList.GetItemText(m_ctrFileList.GetSelectionMark(), 1);}我选定了两项,可是如何依次取这两项的值呢?
现在我每次取的是最后一个选定的值?

解决方案 »

  1.   

    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
       }
    }
      

  2.   

    int to_delete[100];
    long del=0;
        
    POSITION pos =m_QueryResult.GetFirstSelectedItemPosition();
    if(pos)
        {
           do
           {
      to_delete[del]=m_QueryResult.GetNextSelectedItem(pos);
      del=del+1;
            }
            while(pos);
         }
         int n=m_QueryResult.GetSelectedCount();
         for(int sx=0;sx<n;sx++)
    {
               long m_NoResult=atoi(m_QueryResult.GetItemText(to_delete[sx],6));
             }