VC List Control控件如何删除选中的记录实例详解

时间:2022-01-18 08:21:55

VC List Control控件如何删除选中的记录实例详解

实例代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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);
  }

需要先排序,再重绘,否则从中间删除后该区域会空白,后面的记录不会自动上移

?
1
2
3
  m_list.Arrange(LVA_DEFAULT);
  m_list.RedrawItems(0, m_list.GetItemCount());
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://www.bianceng.cn/Programming/vc/201502/48188.htm