从 Listview Control 复选框获取通知代码
Posted
技术标签:
【中文标题】从 Listview Control 复选框获取通知代码【英文标题】:Get the notification code from Listview Control checkboxes 【发布时间】:2012-11-28 13:52:55 【问题描述】:我用LVS_EX_CHECKBOXES | LVS_EX_INFOTIP
风格实现了一个ListView 控件。我已经注册了从列表视图控件项中获取通知的函数。
BEGIN_MESSAGE_MAP(Class, ParentClass)
ON_NOTIFY(LVN_GETINFOTIP,IDC_LIST2,OnClickCheckBox)
END_MESSAGE_MAP()
我的问题是,当您选择/取消选择 ListView 控件项目中的复选框时,将向父级发送什么通知代码..
需要编写哪些代码来处理 OnClickCheckBox() 函数中的复选框选择?
请帮帮我
【问题讨论】:
【参考方案1】:您收到 item-changed-message 并且您必须找出复选框状态是否已更改。
在消息映射中:
ON_NOTIFY_REFLECT(LVN_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;
【讨论】:
以上是关于从 Listview Control 复选框获取通知代码的主要内容,如果未能解决你的问题,请参考以下文章