我有一个包含数据行的列表控件。现在我想删除删除按键上的行。我正在尝试:LVN_DELETEITEM如下:
Afx消息:
afx_msg void OnLvnDeleteitemList(NMHDR *pNMHDR, LRESULT *pResult);
消息地图:
ON_NOTIFY(LVN_DELETEITEM, IDC_LIST_ACQUISITION_SETTINGS, &MeasureDialog::OnLvnDeleteitemList)
OnLvnDeleteitemList的实现:
void MeasureDialog::OnLvnDeleteitemList(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
// TODO: Add your control notification handler code here
ReportMessage(L"Deleted");
*pResult = 0;
}
但我永远不会进入OnLvnDeleteitemList方法。怎么回事呢?
答案 0 :(得分:4)
消息LVN_DELETEITEM明确指出:
通知列表视图控件的父窗口即将删除某个项目。
这意味着,当项目被删除时,将发送通知消息。按删除键不会调用此方法。您需要处理删除关键信息本身(WM_KEYDOWN),然后拨打CListCtrl::DeleteItem