listcontrol的问题

xiaoyao888 2006-06-01 05:51:42
如何返回多选的行数?我只能得到最后一个,不知道怎么返回所有被选中的行数。

如何使行的宽度可以改变,就是可以用鼠标拖动改变行间距。
...全文
227 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyao888 2006-06-05
  • 打赏
  • 举报
回复
看来只能这样了,我还想有没有一次性删除的,就像SQL里有批量删除用in,看来是没有了。
龙凤呈祥焱 2006-06-04
  • 打赏
  • 举报
回复
做个标记值,每删除一行标记值增加1,删除的时候从索引值里面减去这个标记值就可以了.
allenhiman 2006-06-04
  • 打赏
  • 举报
回复
你现在知道自己选择了 a,b,c。。。行
删除a b-1,c-2...行就ok了呗
xiaoyao888 2006-06-04
  • 打赏
  • 举报
回复
还要重载?那还是算了吧,这个不用也罢

但是我在多选进行删除的时候却不能正确删除
循环调用DeleteItem删的却不是我选的,我设断点发现是每次DeleteItem后行数都变了,但GetNextSelectedItem得到的却是原来的行数而不是更新后的。
据个例子说,就是有1,2,3,4,5,行,我选2,4行删除,却删的是2,5,也就是说删了2后,5就变成4了。
不知道这个问题怎么解决。

xqk 2006-06-03
  • 打赏
  • 举报
回复
第二个问题你得重载该控件,呵呵,比较麻烦

不过你可以使用网上有现成的控件,功能好多,而且是破解版

Xtreme Toolkit 9.61
xiaoyao888 2006-06-03
  • 打赏
  • 举报
回复
第一个解决了seu07201213(汪洋中的一片叶子)是正解。

那如何使行的宽度可以改变,就是可以用鼠标拖动改变行间距。
折腾_苏州 2006-06-02
  • 打赏
  • 举报
回复
POSITION pos = m_list.GetFirstSelectedItemPosition();
if (pos == NULL)MessageBox("0 items selected!");
else
{
while (pos)
{
nItem = m_list.GetNextSelectedItem(pos);
}
}
ohfox 2006-06-02
  • 打赏
  • 举报
回复
我用check来判断多选,打勾得那种呵呵

15,976

社区成员

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

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