我需要在单击CListView时出现一个对话框,请问获取当前item的位置?

解决方案 »

  1.   

    extern CListCtrl* pmyListCtrl;UINT uSelectedCount = pmyListCtrl->GetSelectedCount();这样不知道行不?
      

  2.   

    void CSwchMgrView::OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult)
    {
    // TODO: 在此添加控件通知处理程序代码
    CListCtrl& rList = GetListCtrl(); POSITION pos; switch(m_nCurView){
    case CV_PORTSTATUS:
    pos = rList.GetFirstSelectedItemPosition();         // here^_^
    if(pos != NULL){
    int nPort = rList.GetNextSelectedItem(pos);
    ModifyPortControl(nPort);
    }
    break;
    case CV_PORTINFO:
    break;
    default:
    break;
    }
    *pResult = 0;
    }
      

  3.   

    void CWareLV::OnClick(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    // TODO: Add your control notification handler code here
    NM_LISTVIEW *pNM = (NM_LISTVIEW*)pNMHDR;
    if ((pNM->iItem >= 0) && (pNM->uNewState & LVIS_SELECTED)) {
    CPoint pt; //position
    CListCtrl& theCtrl = GetListCtrl();
    BOOL bOk = thCtrl.GetItemPosition(pNM->iItem, &pt); // 获取position
    // do something
    }
    //do something *pResult = 0;
    }另:困惑,每次单击listview 就弹出一个对话框?是否不妥?