冰川人看世界 2015-07-13 09:17 采纳率: 100%
浏览 2308
已采纳

MFC CListCtrl类checkbox问题

MFC项目用到CListCtrl控件,CListCtrl控件的view设置为list,而且style含有LVS_EX_CHECKBOXES,即每一行最前面都有一个checkbox,那么问题来了,我在勾选和取消checkbox时,怎么捕获checkbox的change消息

  • 写回答

2条回答 默认 最新

  • oyljerry 2015-07-13 10:37
    关注
    
    void CStatusBarDlg::OnClickStateList(NMHDR* pNMHDR, LRESULT* pResult) 
    {
        DWORD dwPos = GetMessagePos();  
        CPoint point( LOWORD(dwPos), HIWORD(dwPos) );  
    
        m_StatusList.ScreenToClient(&point);  
    
        LVHITTESTINFO lvinfo;  
        lvinfo.pt = point;  
        lvinfo.flags = LVHT_ABOVE;  
    
        UINT nFlag;  
        int nItem = m_StatusList.HitTest(point, &nFlag);  
        //判断是否点在checkbox上  
        if(nFlag == LVHT_ONITEMSTATEICON)  
        {
            TRACE("You click CheckBox,Item will be Clicked!");
            }
        *pResult = 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?