15,980
社区成员
发帖
与我相关
我的任务
分享
void CListCtrlDemoDlg::OnClickListCtrl(NMHDR* pNMHDR, LRESULT* pResult)
{
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
m_cListCtrl.ScreenToClient(&point);
LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;
UINT nFlag;
int nItem = m_cListCtrl.HitTest(point, &nFlag);
//判断是否点在checkbox上,若是,且check可用标志为假,则恢复原来的值
if(nFlag == LVHT_ONITEMSTATEICON && m_bEnableCheck == FALSE)
{
BOOL bCheck = m_cListCtrl.GetCheck(nItem);
m_cListCtrl.SetCheck(nItem, !bCheck);
}
*pResult = 0;
}
void CListCtrlDemoDlg::OnDblclkListCtrl(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
m_cListCtrl.ScreenToClient(&point);
LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;
UINT nFlag;
int nItem = m_cListCtrl.HitTest(point, &nFlag);
//判断是否点在checkbox上,若是,且check可用标志为假,则恢复原来的值
if(nFlag == LVHT_ONITEMSTATEICON && m_bEnableCheck == FALSE)
{
BOOL bCheck = m_cListCtrl.GetCheck(nItem);
m_cListCtrl.SetCheck(nItem, !bCheck);
}
*pResult = 0;
}
void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
m_list.ScreenToClient(&point);
LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;
UINT nFlag;
int nItem = m_list.HitTest(point, &nFlag);
//判断是否点在checkbox上
if(nFlag == LVHT_ONITEMSTATEICON)
{
m_list.SetCheck(nItem,FALSE);
}
*pResult = 0;
}