确定ListView

时间:2018-02-27 09:59:26

标签: listview vb6

我遇到了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

1 个答案:

答案 0 :(得分:2)

想到了一些想法。您需要决定哪种情况最适合您的情况。第一个想法是回应ItemClick事件。只有在您点击某个项目时才会触发此事件。

Private Sub lsvArticle_ItemClick(ByVal Item As MSComctlLib.ListItem)
   txtValueNew.Text = Item.Text
End Sub

第二个想法是在执行MouseUp的同时回复HitTest事件。如果HitTest为Nothing,则单击空白区域。

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