从Listview控件复选框中获取通知代码

从Listview控件复选框中获取通知代码,listview,user-interface,mfc,listviewitem,Listview,User Interface,Mfc,Listviewitem,我用LVS_EX_复选框| LVS_EX_INFOTIP风格实现了一个ListView控件。我已经注册了一个函数,可以使用从列表视图控件项获取通知 BEGIN_MESSAGE_MAP(Class, ParentClass) ON_NOTIFY(LVN_GETINFOTIP,IDC_LIST2,OnClickCheckBox) END_MESSAGE_MAP() 我的问题是,当您选中/取消选中ListView控件项中的复选框时,将向家长发送什么通知代码 需要编写哪些代码来处理OnClickChe

我用
LVS_EX_复选框| LVS_EX_INFOTIP
风格实现了一个ListView控件。我已经注册了一个函数,可以使用从列表视图控件项获取通知

BEGIN_MESSAGE_MAP(Class, ParentClass)
ON_NOTIFY(LVN_GETINFOTIP,IDC_LIST2,OnClickCheckBox)
END_MESSAGE_MAP()
我的问题是,当您选中/取消选中ListView控件项中的复选框时,将向家长发送什么通知代码

需要编写哪些代码来处理OnClickCheckBox()函数中的复选框选择


请帮助我

如果您收到“项目已更改”消息,您必须查明复选框状态是否已更改

在消息映射中:

ON\u NOTIFY\u REFLECT(LVN\u ITEMCHANGED,&CMyListView::OnLvnItemchanged)

事件处理程序:

void CMyListView::OnLvnItemchanged(NMHDR *pNMHDR, LRESULT *pResult)
{
    LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);

    if(pNMLV->uNewState == 8192) // Item checked
    {
        ...
    }
    else if(pNMLV->uNewState == 4096) // Item unchecked
    {
        ...
    }

    *pResult = 0;
}
void CMyListView::OnLvnItemchanged(NMHDR*pNMHDR,LRESULT*pResult)
{
LPNMLISTVIEW pNMLV=重新解释铸件(pNMHDR);
如果(pNMLV->uNewState==8192)//检查项目
{
...
}
else if(pNMLV->uNewState==4096)//未选中项
{
...
}
*预设值=0;
}