从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;
}