LISTBOX中双击某行,如何知道自己点的是第几行呢?前面的都是用.addstring这个方法加入进去的,能否得到序号呢
void CPcihggDlg::OnDblclkList2() 
{
// TODO: Add your control notification handler code here   
}

解决方案 »

  1.   

    int nRow = m_lst1.GetCurSel( ) + 1;
    CString strRow;//当前行
    strRow.Format( "%d", nRow );
    TRACE0( _T( strRow+"\n" ) );//调试状态下输出
      

  2.   

    添加listctrl控件的NM_CLICK消息相应函数
          void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
          {
               // 方法一:
               /*
               DWORD dwPos = GetMessagePos();
               CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
       
               m_list.ScreenToClient(&point);
       
               LVHITTESTINFO lvinfo;
               lvinfo.pt = point;
               lvinfo.flags = LVHT_ABOVE;
         
               int nItem = m_list.SubItemHitTest(&lvinfo);
               if(nItem != -1)
               {
                    CString strtemp;
                    strtemp.Format("单击的是第%d行第%d列", lvinfo.iItem, lvinfo.iSubItem);
                    AfxMessageBox(strtemp);
               }
              */
       
              // 方法二:
              /*
               NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
               if(pNMListView->iItem != -1)
               {
                    CString strtemp;
                    strtemp.Format("单击的是第%d行第%d列",
                                    pNMListView->iItem, pNMListView->iSubItem);
                    AfxMessageBox(strtemp);
               }
              */
               *pResult = 0;
          }
     
      

  3.   

    楼上的搞错了 不是CListCtrlCListBox::GetCurSel