在我自己派生的一个类中(从CListView派生),我想在用鼠标单击网格的时候,知道自己单击是哪一行那一列,我该怎么做呢?

解决方案 »

  1.   

    在click里void CRightView::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult) 
    {
        int col=reinterpret_cast<NMLISTVIEW*>(pNMHDR)->iItem;//行
        int row=reinterpret_cast<NMLISTVIEW*>(pNMHDR)->iSubItem;//列
        *pResult = 0;
    }
    给分
      

  2.   

    thank you 
    高高,实在是高
      

  3.   

    但是,
    你上面提供的方法,好像并不是在所有的情况下都可以,只有把style设置为 LVS_OWNERDRAWFIXED你提供的方法才有效。
    可是,我不想用LVS_OWNERDRAWFIXED属性,这样的话,你的方法就无法正确取到行值和列值,不信你自己试一下。
    还有其他办法吗?
      

  4.   

    方法我已经知道了,但是不是 antshome(我也.net了) 提供的
    在lbuttondown里面做如下处理
    LVHITTESTINFO ht;
    ht.pt = point;int rval = ListView_SubItemHitTest( m_hWnd, &ht );int item = ht.iItem;
    int subitem = ht.iSubItem;
    还是谢谢了。