请教,我需要在用户单击CListCtrl控件的某一项时做出相应的处理,但是我对控件
的HDN-ITEMCLICK消息进行处理,添加了对应的处理函数OnItemClick(),可是当我点击控件中某一项时程序却没有进入到响应函数,请问是我选错了处理的消息还是还有
别的参数需要设置?请指教

解决方案 »

  1.   

    所以一般象你需要的这种功能,不用CListCtrl做。而用MSHFLEXGRID控件来完成,可以非常轻松的定位每个行列(就是每一格)。
      

  2.   

    用NM_CLICK消息, 再用一个GetNextSelItem()就可以了
      

  3.   

    int row = m_yourList.GetNextItem(-1,LVNI_SELECTED)
    row就是当前选中的item的index,选中多行时,返回最前面的一个!
      

  4.   

    你可以使用,点击ClistCtrl的相应消息!
    然后判断是当前选择的是哪一行,就可以了!~
      

  5.   

    用NM_CLICK消息
    比如说双击ListCtrl中的一项:1、在.h文件中  afx_msg void OnDblclk(NMHDR* pNMHDR, LRESULT* pResult);2、在   BEGIN_MESSAGE_MAP()
                                ...
                                ON_NOTIFY_REFLECT(NM_DBLCLK, OnDblclk)
                                ...
            END_MESSAGE_MAP()3、void CMyList::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    // TODO: Add your control notification handler code here
    NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
    if(GetFocus() != this) SetFocus();
        
    //为了响应ListCtrl中鼠标的双击、右击中的“修改当前项”的消息

             ...
             //用GetSubItemRect(...)和HitTestEx(...)综合处理来得到鼠标点击时所处的位置的是ListCtrl中的那一行和那一列,
             
    *pResult = 0; //为1时复选框有影响
    }