list control控件以report的形式来输出数据,现在我输入了两行数据,我想在鼠标“双击”其中一行数据的时候,显示例如一个对话框之类的信息,不知道该响应list control的哪个消息处理函数?

解决方案 »

  1.   

    ON_NOTIFY_REFLECT(NM_DBLCLK, OnDblclk)
      

  2.   

    WM_LBUTTONDBCLICK消息
    另在初始化的时候要加上theCtrl.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)
      

  3.   

    NM_DBLCLKvoid CSearchDlg::OnDblclkListPic(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    // TODO: Add your control notification handler code here
    *pResult = 0;
    int i;
    CString str;
    i=m_lst.GetSelectionMark();
    str=m_lst.GetItemText(i,0);
    if(str=="")
    return;
      

  4.   

    void CUuDlg::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    // TODO: Add your control notification handler code here
    CPoint pt;
    ::GetCursorPos(&pt);
    m_ListCtrl.ScreenToClient(&pt);
    LVHITTESTINFO lvinfo;
    lvinfo.pt = pt;
    lvinfo.flags = LVHT_ABOVE;
        
    int nItem = m_ListCtrl.SubItemHitTest(&lvinfo);
    if(nItem != -1)
    {
    CString strtemp;
    strtemp.Format"双击了第%d行", lvinfo.iItem);
    AfxMessageBox(strtemp);
    } *pResult = 0;
    }
      

  5.   

    楼上的几位的方法都没有效果。不知道是不是还需要什么判定条件?
    我映射NM_CLICK时,单击一下鼠标就可以出现消息框,但是映射NM_DBLCLK却没有效果?void CMyDlg::OnDblclkMy(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    MessageBox("消息!");
    *pResult = 0;
    }
      

  6.   

    void CYourDlg::OnDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
    {
    // TODO: 在此添加控件通知处理程序代码m_studyDate
    int nItem=m_listCtrl.GetNextItem(-1, LVNI_SELECTED);
    if(nItem>=0)
    { }
    *pResult = 0;
    }
      

  7.   

    void CYourDlg::OnDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
    {
    // TODO: 在此添加控件通知处理程序代码m_studyDate
    int nItem=m_listCtrl.GetNextItem(-1, LVNI_SELECTED);
    if(nItem>=0)
    {
    CString selItem;
    selItem.Format("你选取了%d 行!",nItem);
    AfxMessageBox(selItem);
    }
    *pResult = 0;
    }
      

  8.   

    谢谢大家,我单独作了一个程序测试了一下,结果正确,可是放到我的程序中就没有响应了。
    我的list control控件是作为tab control控件的一个页面出现的,可能有什么冲突吧,具体的我也不知道了,,
      

  9.   

    找到问题了,我的list control 控件类把NM_DBCLK给屏蔽了,谢谢!!