ListCtrl问题,请帮忙,谢谢!

种菜的 2010-09-16 09:45:33
report样式的ListCtrl中有多条记录,我只知道其中一条记录的内容,如何根据内容删除那条记录,不是选择记录再删除,而是根据内容删除,有一个笨方法就是遍历所有记录,比较内容相同就删除,有没有其他更好的方法呢?谢谢!!!
...全文
84 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Torch009 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jacky_qiu 的回复:]
方法一:

LVFINDINFO info;
info.flags=LVFI_STRING;
info.psz="windows";
int index=::SendMessage(m_ListCtrl.m_hWnd, LVM_FINDITEM , -1, (LPARAM)&info);

方法二:
LVFINDINFO FindInfo;
FindInfo.flags ……
[/Quote]

都是查找,还两种方法,晕
jacky_qiu 2010-09-16
  • 打赏
  • 举报
回复
方法一:

LVFINDINFO info;
info.flags=LVFI_STRING;
info.psz="windows";
int index=::SendMessage(m_ListCtrl.m_hWnd, LVM_FINDITEM , -1, (LPARAM)&info);

方法二:
LVFINDINFO FindInfo;
FindInfo.flags = LVFI_STRING;
FindInfo.psz ="ff";
int nItem=m_ListCtrl.FindItem(&FindInfo);
种菜的 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 liguoqing2010 的回复:]

用条件判断下可能还是最简单的办法这个问题应该不难解决。
[/Quote]
试试这种方法,估计这个函数也是遍历的,最起码省的自己写了,哈哈哈,:)
Eleven 2010-09-16
  • 打赏
  • 举报
回复
可以先排个序
gameslq 2010-09-16
  • 打赏
  • 举报
回复
>>而是根据内容删除,有一个笨方法就是遍历所有记录,比较内容相同就删除,有没有其他更好的方法呢?谢谢!!!

用ListCtrl控件搜索函数,很多记录时效率更高:
CListCtrl::FindItem
找到后删除.
liguoqing2010 2010-09-16
  • 打赏
  • 举报
回复
用条件判断下可能还是最简单的办法这个问题应该不难解决。
sunjiashuai 2010-09-16
  • 打赏
  • 举报
回复
是要删除相同的?
如果只是删除和某一条相同的记录,遍历下就好,很快的。
只是在遍历删除的时候注意,从上往下删,index会变的
种菜的 2010-09-16
  • 打赏
  • 举报
回复
嗯,那就先遍历试试,解决不了,再回来找其它方法。谢谢!
向立天 2010-09-16
  • 打赏
  • 举报
回复
这种情况好像只能遍历吧
种菜的 2010-09-16
  • 打赏
  • 举报
回复
应用楼上几位的方法已经解决了,谢谢!抱着一颗感恩的心再次谢谢。。。啊!
种菜的 2010-09-16
  • 打赏
  • 举报
回复
两种方法都返回-1,我再从网上看看这个函数的意义。:)(不知道含义都敢用。。。。)
FireBirdCN 2010-09-16
  • 打赏
  • 举报
回复
ListCtrl里的数据是哪里来的 一般是数据库
看看能不能在这上面做些操作来达到效果

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧