关于CListCtrl中处理选中多行数据的问题

VC中使用ListCtrl经验总结(1)   ListCtrl在工作中,常常用到,也常常看到大家发帖问怎么用这个控件,故总结了一下自己的使用经验,以供参考使用。  先注明一下,这里,我们用m_listctrl来表示一个CListCtrl的类对象,然后这里我们的ListCtrl都是report形式,至于其他的如什么大图标,小图标的暂时不讲,毕竟report是大众话的使用。其次,我们这里用条款一,条款二来描述第一点,第二点 阅读详情

      在默认状态下,CListCtrl通过鼠标单击选中的是单行,但我们可以配合Ctrl和Shift键来选中多行,如果有多行数据被选中,那就要一项一项处理,怎么处理呢?看个例子吧!

while(m_listOption.GetSelectedCount()   >   0)
{
    POSITION   pos   =   m_listOption.GetFirstSelectedItemPosition();
    if   (pos   !=   NULL)
    {
        int   nItem   =   m_listOption.GetNextSelectedItem(pos);
        //在这里添加处理函数

    }
}


 

说明:

1.m_listOption为CListCtrl的指针。

2.CListCtrl::GetSelectedCount
    原型:UNIT GetSelectedCount() const
    功能:获取列表视图控件中被选择的项的数目。
    返回值:返回列表视图控件中被选择的项的数目。

3.CListCtrl::GetFirstSelectedItemPosition
    原型:POSITION GetFirstSelectedItemPosition()
    功能:在列表视图控件中获取第一个选择项的位置。
    返回值:返回一个用于迭代或获取对象指针的POSITION值;如果没有选择任何项,那么将返回NULL。

4.CListCtrl::GetNextSelectedItem
    原型:int GetNextSelectedItem(POSITION& pos) const
    功能:获得通过pos标识的列表项的索引,然后将pos设置为POSITION 值。如果已经通过调用GetFirstSelectedItemPosition函数得到了初始位置,那么可以在不断的循环中使用GetNextSelectedItem函数。在此,必须确保POSITION值是有效的。否则,将插入Microsoft Foundation Class Library(Microsoft基础类库)的调试版的断言。
    参数:pos通过前面调用GetNextSelectedItem函数或GetFirstSelectedItemPosition函数返回的POSITION值的参考。通过这次调用,它将更新为下一个位置值。
    返回值:返回列表视图控件中被选择的下一项的索引值。

MFC中的CListCtrl添加右键菜单消息响应实例分析 一.创建一个菜单资源 无论是 阅读详情

相关推荐

使用CListCtrl控件实现Excel数据导入

CListCtrl控件是MFC库中的一个强大组件,它提供了列表显示和数据操作的界面元素。本章将引导您了解CListCtrl控件的基础,探讨其在软件开发中的作用以及如何通过它与Excel数据进行有效交互。在此基础上,我们还将讨论CListCtrl控件的基本属性和它如何在不同的使用场景中发挥作用。对于大数应用程序,一致的用户体验至关重要。在表格控件中,为了达到这样的效果,通常需要设置字体、颜色和背景等属性。通过自定义这些属性,可以让CListCtrl控件中的数据展示得更加清晰和专业。

weixin_42518334的博客 1044

CListCtrl(clistctrl获取选中数据)

如何获取CListCtrl当前选中的行 方法一: 单的情况下 GetNextItem(-1,LVIS_SELECTED); 方法二:单的情况下 如果只允许单,只需要调用成员函数GetSelectionMark()就可以获取选中的行号,然后你再调用GetItemText()就可以获取选中行的文本。 方法三...

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 3280

MFC CListCtrl得到ctrl,shift的行号

vector<int> selVect; int count = m_consumeList.GetItemCount(); //你的列表少行 for (int i = 0; i<count; i++) {   if (CDIS_GRAYED == m_consumeList.GetItemState(i, CDIS_GRAYED)) //获得是否...

weixin_34194359的博客 602

(转)MFC的ClistCtrl删除选中多行项目

MFC的ClistCtrl控件添加了多行数据后,若要删除选中多行数据,可以使用ClistCtrl的成员函数,在网上找了很例子,发现都有问题,因为在删除ClistCtrl行的时候,删除行下面的行会上移,那么下一个要删除的行的索引会改变,导致删除的是删除行下两行位置的数据,删除不完全。 使用下面代码可完全删除选中行: 01 02 03 04 05 0...

dianchixian5277的博客 319

CListCtrl的用法总结

1 CListCtrl的风格 CListCtrl的风格有四种: LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标LVS_LIST: 显示一列带有小图标的itemLVS_REPORT: 显示item详细资料 分别对应着资源管理器查看菜单下的大图标,小图标,列表,详细资料。 可以在控件属性视图下设置:View属性. 也可以用代

放飞梦想,成就未来 1万+

CListCtrl控件详解

Create创建列表控件并将其附加给CListCtrl对象。

milanleon的专栏 2万+

ctreectrl 设置选中_CTreeCtrl和CListCtrl落空核心时高亮选中

设置CTreeCtrl的Always Show Selection:TrueCListCtrl的Always Show Selection:False在NM_CUSTOMDRAW事务中添加如下代码:voidCHighLightDlg::OnNMCustomdrawTree1(NMHDRpNMHDR,LRESULTpResult){LPNMCUSTOMDRAWpNMCD=reinter...

weixin_39991305的博客 525

CListCtrl的使用

CListCtrl的使用<br /><br />更新日期:2011-1-10<br />示例代码:demo.zip (请不要使用下载工具,否则可能出错)<br />测试环境:VC6.0+WinXP<br />图片预览:<br /><br /><br /><br /><br />CListCtrl 使用技巧:(这一篇文章写得很好,极力推荐)<br />http://blog.csdn.net/lixiaosan/archive/2006/04/07/653563.aspx<br />以下是网上收集的资料,都很

jacky_qiu的专栏 4140

VC的CListCtrl控件

1. CListCtrl 样式及设置 2. 扩展样式设置 3. 数据插入 4. 一直选中Item 5. 选中和取消选中Item 6. 得到CListCtrl中所有行的checkbox的状态 7. 得到CListCtrl中所有选中行的序号 8. 得到item的信息 9. 得到CListCtrl的所有列的header字符串内容 10. 使CListCtrl中一项可见,即滚动...

ajphsb0849的博客 120

CListctrl 控件使用

huodian93的专栏 1318

CListCtrl使用技巧

以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格      LVS_ICON: 为每个item显示大图标      LVS_SMALLICON: 为每个item显示小图标      LVS_LIST: 显示一列带有小图标的item      LVS_REPORT: 显示item详细资料      直观的理解:windows资源管理器,“查

gzjh1的专栏 2115

CListCtrl 部分用法

列表控件 CListCtrl CListCtrl m_List; 1.关联对象与控件ID 用SubclassDlgItem关联,第一个参数是要关联控件的ID,第二个是指向父窗口的指针 例: m_List.SubclassDlgItem(IDC_EDIT1,this); 2.设置列表第一项为含有复框的列 SetExtendedStyle用来设置列表的风格,要达

luhongji的专栏 997

Clistctrl多行删除总结

http://blog.csdn.net/vlily/article/details/7739483 备注:第五种方法已经试过,其余没试过,感觉是对的(第二种方法是错误的 ) CListCtrl选中行有两种属性情况,如果设置了Single Selection为TRUE,则只能单,否则为(默认)。 方法一: int CListCtrl::GetSelectionMa...

weixin_34162228的博客 90

CListCtrl控件使用方法总结

                                                                CListCtrl控件使用方法总结 今天第一次用CListCtrl控件,遇到不少问题,查了许资料,现将用到的一些东西总结如下:以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “Li

lbqBraveheart的专栏 1253
上一篇: 利用WinInet库和STL获取计算机硬盘中的文件并上传到指定FTP服务器
下一篇: 关于WinSock.h和WinSock2.h的重复定义问题
swtar
博客等级 码龄17年 4粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值