社区
界面
帖子详情
ListCtrl怎么实现选中多行删除,不是全部啊
Lindsay
2011-10-07 06:00:33
我想点击鼠标左键选中一行,然后摁住ctrl后再点击其他的行,都会高亮标记,然后再点击右键删除,或者有个按钮删除
...全文
720
9
打赏
收藏
ListCtrl怎么实现选中多行删除,不是全部啊
我想点击鼠标左键选中一行,然后摁住ctrl后再点击其他的行,都会高亮标记,然后再点击右键删除,或者有个按钮删除
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Lindsay
2012-10-10
打赏
举报
回复
[Quote=引用 8 楼 的回复:]
POSITION pos = pListCtrl.GetFirstSelectedItemPosition();
while (pos != NULL)
{
int nItem = pListCtrl.GetNextSelectedItem(pos);
pListCtrl.DeleteItem(nItem);
pos = pListCtrl.GetFirstSelectedItemPo……
[/Quote]感谢
shitaup
2012-09-29
打赏
举报
回复
POSITION pos = pListCtrl.GetFirstSelectedItemPosition();
while (pos != NULL)
{
int nItem = pListCtrl.GetNextSelectedItem(pos);
pListCtrl.DeleteItem(nItem);
pos = pListCtrl.GetFirstSelectedItemPosition();
}
yyps
2011-10-09
打赏
举报
回复
listctrl 控件 纯属一个逻辑问题的控件,没啥难的,仔细想想就没问题,
samuellei
2011-10-08
打赏
举报
回复
int iRowSelected = m_list.GetSelectedCount();
if(iRowSelected == 0)
{
return;
}
int iRowNum = m_list.GetItemCount();
for(int i = iRowNum - 1; i >= 0; i--)
{
if(m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED)
{
m_list.DeleteItem(i);
}
}
luckytwo888
2011-10-08
打赏
举报
回复
int i=0;
while(i<m_listctrl.GetItemCount())
{
if(m_listctrl.GetCheck(i))
{
m_listctrl.DeleteItem(i);
}
i++;
}
luckytwo888
2011-10-08
打赏
举报
回复
[Quote=引用 3 楼 luckytwo888 的回复:]
在listctrl控件所属的类中的OnInitDialog()函数中,增加该语句
m_listctrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_CHECKBOXES);
点击记录的复选框,可以实现多选。
然后在"删除"按钮的单击响应时件的函数中,添加该代码:
int k=0;
while(k<……
[/Quote]
int k=0;改为 int i=0;
luckytwo888
2011-10-08
打赏
举报
回复
在listctrl控件所属的类中的OnInitDialog()函数中,增加该语句
m_listctrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_CHECKBOXES);
点击记录的复选框,可以实现多选。
然后在"删除"按钮的单击响应时件的函数中,添加该代码:
int k=0;
while(k<m_listctrl.GetItemCount())
{
if(m_listctrl.GetCheck(i))
{
m_listctrl.DeleteItem(i);
}
k++;
}
ndy_w
2011-10-07
打赏
举报
回复
多选默认属性已经支持了。
删除时用GetFirstSelectedItemPosition/GetNextSelectedItem遍历是不行的,因为删除后POSITION有问题。要倒过来,从后向前删。类似这样:
for (iItem = list.GetItemCount() - 1; iItem >= 0; iItem--)
{
if (list.GetItemState(iItem, LVIS_SELECTED) == LVIS_SELECTED)
list.DeleteItem(iItem);
}
Gloveing
2011-10-07
打赏
举报
回复
多次调用CListCtrl::DeleteItem
?
简单的
ListCtrl
多行
删除
在探讨“简单的
ListCtrl
多行
删除
”这一主题时,我们首先需要理解
ListCtrl
的基本概念及其在Windows编程中的应用。
ListCtrl
是Microsoft Windows中一个非常重要的控件,它提供了列表视图的功能,允许用户以列表的形式...
SuperGrid-MFC_
ListCtrl
控件扩展(让
ListCtrl
控件具有树状列表)
在MFC(Microsoft Foundation Class)库中,
ListCtrl
控件是一种常见的用于显示表格数据的控件,它通常用于展示多列、
多行
的数据。然而,
ListCtrl
控件本身并不支持直接展示树状结构的数据,这对于需要层次化显示信息...
C
ListCtrl
控件基本用法
m_
ListCtrl
.SetExtendedStyle(m_
ListCtrl
.GetExtendedStyle() | LVS_EX_CHECKBOXES); // 启用复选框 m_
ListCtrl
.SetCheck(0, TRUE); // 设置第0行的复选框为
选中
状态 bool isChecked = m_
ListCtrl
.GetCheck(0); /...
list control 改变某一行颜色
在MFC中,
ListCtrl
类提供了丰富的功能,包括添加、
删除
项,设置项属性等。对于自定义绘制,我们需要重载OnDrawItem或OnDrawSubItem方法,这两个方法会在控件绘制项时被调用。 接下来,我们来看看如何改变List ...
MFC之自绘C
listCtrl
列表控件
开发环境:VS2013 框架:MFC、vc++ 功能:点击列表头排序、隔行换色、高亮显示
选中
、
多行
选中
界面
15,978
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章