CListCtrl删除选中行
来源:互联网 发布:江南大学网络教育登陆 编辑:程序博客网 时间:2024/05/25 21:32
CListCtrl删除选中行
CListCtrl选中行有两种属性情况,如果设置了Single Selection为TRUE,则只能单选,否则为多选(默认)。
方法一:
int CListCtrl::GetSelectionMark();
返回值:返回选中索引号,否则返回-1
说明:这个函数可以处理单行的情况,但是有一个缺点,它会保留你上次选中的项,所以当你单击空白的地方时,还会返回上次选中的项。因此在使用快捷键实现删除操作时需要注意这个情况,一般可以配合UINT GetItemState(int nItem,
UINT nMask) const;来判断。
单行:int nItem = m_listCtrl.GetSelectionMark();
m_listCtrl.DeleteItem(nItem);
方法二:
说明:这个可以处理单行和多行(连续)的情况
POSITION pos = m_listCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
TRACE(_T("No items were selected!/n"));
}
else
{
while (pos)
{
int nItem = m_listCtrl.GetNextSelectedItem(pos);
m_listCtrl.DeleteItem(nItem);
// you could do your own processing on nItem here
}
}
方法三:
说明:可以处理单行和多行的情况,个人一般用这种方法
while(m_listCtrl.GetNextItem(-1,LVNI_ALL | LVNI_SELECTED) != -1)
{
int nItem = m_listCtrl.GetNextItem(-1,LVNI_ALL | LVNI_SELECTED);
m_listCtrl.DeleteItem(nItem);
}
方法四:
说明:可以处理单行和多行的情况
for(int i = 0; i<m_listCtrl.GetItemCount(); i++)
{
if(m_listCtrl.GetItemState(i, LVNI_ALL | LVNI_SELECTED) == LVIS_SELECTED)
m_listCtrl.DeleteItem(i);
}
- CListCtrl删除选中行
- CListCtrl删除选中行
- CListCtrl删除选中行
- CListCtrl删除选中行
- CListCtrl 空间删除选中行的方法
- CListCtrl删除选中行和CListCtrl的用法(详)
- CListCtrl删除选中行和CListCtrl的用法(详)
- clistctrl选中当行
- CListCtrl 整行选中
- CListCtrl选中行
- CListCtrl选中行
- CListCtrl选中某行
- CListCtrl 删除多条选中记录
- CListCtrl 取消选中某一行
- CListCtrl控件删除多个选中行时问题的解决
- clistctrl单行多行选中问题
- CListCtrl选中行保持高亮
- CListCtrl获取当前选中行索引号
- 堆、栈、自由存储区、全局/静态存储区和常量存储区
- [小技巧]open()函数创建文件时便捷的权限设置
- PROGRAM
- HDOJ-----1097简单快速幂
- 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递
- CListCtrl删除选中行
- Octave基础操作Ⅱ
- 手动编译源代码安装GR GSM
- 源码安装mysql
- FZU 1901 KMP找前后缀等串
- mtk 耳机accdet检测驱动分析
- Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
- 《Linux学习》之网络环境的配置
- 关于开发板不能ping通外网IP