1.响应WM_KEYDOWN事件。
2.删除一行,item的序号自动调整了。
void CDlg::OnKeydownListFile(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
int i=0;
int n = 0;
int to_delete[65535];
if (pLVKeyDow->wVKey == VK_DELETE)
{
POSITION pos = m_list.GetFirstSelectedItemPosition();
if(pos==NULL)
{
TRACE0("No items were selected!/n");
}
else
{
while(pos)
{
to_delete[i++] = m_list.GetNextSelectedItem(pos);
}
}
n=m_list.GetSelectedCount();//被选择总数;
int k = 0;
for(i = 0; i < n; i++)
{
m_list.DeleteItem(to_delete[i]-k);//依依删除;
k++;
}
}
*pResult = 0;
}
//删除部分可以改进下,少一个变量运算
n=m_list.GetSelectedCount();//被选择总数;
for(i = n-1 ; i >=0 ; i--)
{
m_listctrl.DeleteItem(to_delete[i]);//依依删除;
}