判断是否点击在listctrl的checkbox上

本文介绍了一种在ListCtrl控件中实现Checkbox点击检测的方法。通过添加NM_CLICK消息响应函数,利用HitTest方法来判断鼠标点击位置是否位于Checkbox上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 添加listctrl控件的NM_CLICK消息相应函数
 2       void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
 3       {
 4            DWORD dwPos = GetMessagePos();
 5            CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
 6    
 7            m_list.ScreenToClient(&point);
 8    
 9            LVHITTESTINFO lvinfo;
10            lvinfo.pt = point;
11            lvinfo.flags = LVHT_ABOVE;
12      
13            UINT nFlag;
14            int nItem = m_list.HitTest(point, &nFlag);
15            //判断是否点在checkbox上
16            if(nFlag == LVHT_ONITEMSTATEICON)
17            {
18                 AfxMessageBox("点在listctrl的checkbox上");
19            } 
20            *pResult = 0;
21       }

 

转载于:https://www.cnblogs.com/cwbo-win/articles/3393807.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值