列表控件删除键上的删除行按

时间:2016-08-22 11:53:08

标签: c++ mfc

我有一个包含数据行的列表控件。现在我想删除删除按键上的行。我正在尝试: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方法。怎么回事呢?

1 个答案:

答案 0 :(得分:4)

消息LVN_DELETEITEM明确指出:

  

通知列表视图控件的父窗口即将删除某个项目。

这意味着,当项目被删除时,将发送通知消息。按删除键不会调用此方法。您需要处理删除关键信息本身(WM_KEYDOWN),然后拨打CListCtrl::DeleteItem