zoukankan      html  css  js  c++  java
  • CLISTCTRL 获取点击列

    CListCtrl中的HitTest、SubItemHitTest的用法  


    2HitTest:得到当前鼠标位置的Item


    其实关键是要有ScreenToClient这个函数的使用,我先前没有用这个函数,HitTest老是返回-1,搞得我都头大了。不过这个不能用于SubItem,那应该要用SubItemHitTest


    LVHITTESTINFO ht ;


    GetCursorPos(&(ht.pt)) ;


    m_friendList.ScreenToClient(&ht.pt) ;


    m_friendList.HitTest(&ht) ;


     if(ht.iItem == -1) //检查是否有item选中


          return  ;


    SubItemHitTest:


    void   CTest6Dlg::OnClickList1(NMHDR*   pNMHDR,   LRESULT*   pResult)   

    /****************************************/ 
    /*       确定单击的listctrl的行列号   方法1       */ 
    /****************************************/ 


    /* 
    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); 

    *pResult   =   0; 
    }

  • 相关阅读:
    codeforces 1295 题解(完结)
    Leetcode 第 173 场周赛 题解(完结)
    P2564-[USACO12MAR]花盆Flowerpot
    Task 1-2
    LeetCode--169--多数元素(python)
    049字符异位词分组(python)
    矩阵路径(python)
    全排列
    滑动窗口最大值leetcode & nowcoder(python)
    取topK
  • 原文地址:https://www.cnblogs.com/xzh1993/p/7217205.html
Copyright © 2011-2022 走看看