VC List Control控件如何删除选中的记录实例详解 实例代码: OnButtonDelete() { POSITION pos = m_list.GetFirstSelectedItemPosition(); int idx = m_list.GetNextSelectedItem(pos); while (idx != -1){ LVITEM lvi; lvi.iItem = idx;
VC List Control控件如何删除选中的记录实例详解
实例代码:
OnButtonDelete() { POSITION pos = m_list.GetFirstSelectedItemPosition(); int idx = m_list.GetNextSelectedItem(pos); while (idx != -1){ LVITEM lvi; lvi.iItem = idx; lvi.iSubItem = 0; lvi.mask = LVIF_IMAGE; if (m_list.GetItem(&lvi)){ m_imgList.Remove(lvi.iImage); //同时删除ImageList中的对应图片 } m_list.DeleteItem(idx); idx = m_list.GetNextSelectedItem(pos); }
需要先排序,再重绘,否则从中间删除后该区域会空白,后面的记录不会自动上移
m_list.Arrange(LVA_DEFAULT); m_list.RedrawItems(0, m_list.GetItemCount()); }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!