如题第一个问题,
还有一个问题:如何得到当前选中的,就像list中的m_list.GetCurSel()一样?

解决方案 »

  1.   

    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
       }
    }获取所有选中行的行号如果你只选中了一行,那么
    while (pos)
       {
          int nItem = pList->GetNextSelectedItem(pos);
          TRACE1("Item %d was selected!\n", nItem);
          // you could do your own processing on nItem here
       }这个循环只做一次,输车选中行行号
      

  2.   

    void CIdentifyDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    // TODO: Add your control notification handler code here
    if(m_MyList.GetSelectedCount()>0)
    {
    int   nItem   =   -1;   

    POSITION   pos   =   m_MyList.GetFirstSelectedItemPosition();   
        
    if(pos   !=   NULL)   
    {   
    nItem   =   m_MyList.GetNextSelectedItem(pos);   
    }    m_strPoliceNo=m_MyList.GetItemText(nItem, 0);//获得选中的内容
    SetDlgItemText(IDC_EDIT_POLICENO, m_strPoliceNo); //显示内容
    //UpdateData(FALSE);

    }
    *pResult = 0;
    }