VB6 listview控件如何点击空白处使item不被选中.

zolen 2004-12-05 04:46:42
原来使用microsoft windows common controls (5.0) 即COMCTL32.OCX的时候没有这个问题,现在换了microsoft windows common controls (6.0)即MSCOMCTL.OCX的时候,listview控件只要加载Item就肯定有个Item被选中.点击listview内的空白处也不能使被选中的Item失去焦点. 但这样就出现了问题,当设置listview多选的时候,你即使用鼠标拖拽不选中原来那个listview默认选中的Item,它也会被一起选择到多选里来.(至少那个Item背景也高亮显示).

请问有没有办法可以使这个被默认选择的Item在多选的时候不被选进来.或者说点击listview内空白的地方可以使所有的Item的selected均变成false.
...全文
377 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zolen 2004-12-05
  • 打赏
  • 举报
回复
呵呵,山不在高,有仙则灵!! 谢谢 homezj(小吉).结账.
homezj 2004-12-05
  • 打赏
  • 举报
回复
呵呵!不用那么多星来答吧,没那么复杂。我只有三个小三角,所以只会用最简单的办法回答你。

Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If ListView1.HitTest(X, Y) Is Nothing Then
Set ListView1.SelectedItem = Nothing
End If
End Sub
frankwong 2004-12-05
  • 打赏
  • 举报
回复
参考:
http://community.csdn.net/Expert/topic/3426/3426695.xml?temp=.1719324
http://community.csdn.net/Expert/topic/3427/3427810.xml?temp=8.871096E-02
zolen 2004-12-05
  • 打赏
  • 举报
回复
看来要请那些星多的来解答了
laihongbo524 2004-12-05
  • 打赏
  • 举报
回复
顶,我都想知道
zolen 2004-12-05
  • 打赏
  • 举报
回复
谢谢楼上的解答,这样做我也试过.但这种是假象,多选的时候,那个默认的Item还是会被选择进去的(背景高亮).不信你试试.
lxcc 2004-12-05
  • 打赏
  • 举报
回复
Private Sub ListView1_Click()
Dim itemx As ListItem
Set itemx = ListView1.SelectedItem
If itemx Is Nothing Then Exit Sub
itemx.Selected = False
End Sub
zolen 2004-12-05
  • 打赏
  • 举报
回复
microsoft windows common controls (5.0)就没有这个问题,不用鼠标去点击,item是不会默认选择的.

自己顶一下.

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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