确定是否在ListView中单击了某个项目或什么都没有

确定是否在ListView中单击了某个项目或什么都没有,listview,vb6,Listview,Vb6,我在VB6 Classic上选择ListView时遇到问题 我有一个包含一些项目的列表视图,但当我从文本行中选择某个位置时,它会自动转到默认/第一个项目 我要寻找的是,当用户单击listview列表文本以外的任何其他位置时,找到一种“不选择任何内容”的方法 这是listview代码: Private Sub lsvArticle_Click() Dim mArticleNumber As Integer, mArticleIndex As Integer Dim Splitted(

我在VB6 Classic上选择ListView时遇到问题

我有一个包含一些项目的列表视图,但当我从文本行中选择某个位置时,它会自动转到默认/第一个项目

我要寻找的是,当用户单击listview列表文本以外的任何其他位置时,找到一种“不选择任何内容”的方法

这是listview代码:

Private Sub lsvArticle_Click()
   Dim mArticleNumber As Integer, mArticleIndex As Integer
   Dim Splitted() As String

   Splitted = Split(lsvArticle.SelectedItem.Text, ":")
   mArticleNumber = CInt(Trim(Splitted(0)))
   mArticleIndex = ArticleNb2ListIdx(mArticleNumber - 1)
   mNewValue = mArticleIndex
   txtValueNew.Text = A_ArticlesDef(mNewValue).W_Art_Numb & " : " & A_ArticlesDef(mNewValue).W_Art_Name
End Sub

我想到了几个主意。你需要决定哪一个最适合你的情况。第一个想法是响应
ItemClick
事件。仅当您单击某个项目时,才会触发此事件

Private Sub lsvArticle_ItemClick(ByVal Item As MSComctlLib.ListItem)
   txtValueNew.Text = Item.Text
End Sub
第二种方法是响应
MouseUp
事件,同时执行
HitTest
。如果
HitTest
为空,则在空白区域单击

Private Sub lsvArticle_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
   If Not lsvArticle.HitTest(x, y) Is Nothing Then
      txtValueNew.Text = lsvArticle.SelectedItem.Text
   End If
End Sub

请将代码以文本形式发布,而不是图像形式将其编辑到问题中,而不是以注释形式发布OK,完成。谢谢你的帮助。