Ciao a tutti ho un porgrammino per il quale ho la necessità di selezionare una riga da una ListView e di farle cambiare colore al doppio click.
Per ora funziona solo se seleziono il campo nella prima colonna, se eseguo il doppio click nelle altre colonne la procedura esegue i calcoli ma non mi colora la riga
Ci sono controlli o proprietà che dovrei guardare? Posto il codice forse qualcuno può aiutarmi.

codice:
Private Sub FillQuadri()
    Dim rsQuadri As Recordset
    Dim itmx As ListItem
    Set rsQuadri = GetQuadri(txtIdCentrale, txtIdSala)

    lsvQuadri.ListItems.Clear
    
    If Not (rsQuadri.EOF And rsQuadri.BOF) Then
        rsQuadri.MoveFirst
        While Not rsQuadri.EOF
        'in questa listbox è selezionabile solo la prima colonna
            Set itmx = lsvQuadri.ListItems.Add(, , rsQuadri!NOME_SALA)
            itmx = rsQuadri!NOME_SALA
            itmx.Tag = rsQuadri!ID_QUADRO
            itmx.SubItems(1) = rsQuadri!COD_QUADRO
            itmx.SubItems(2) = rsQuadri!COD_TIPO_QUADRO
            itmx.SubItems(3) = rsQuadri!PROG_QUADRO
            itmx.SubItems(4) = IIf(IsNull(rsQuadri!DESC_QUADRO), "", rsQuadri!DESC_QUADRO)
            rsQuadri.MoveNext
        Wend
    End If
End Sub

Private Sub lsvQuadri_DblClick()
    Dim itmx As ListItem
    'se clicclo al di fuori della prima colonna itmx è nothing anche se XM e YM sono validi
    Set itmx = lsvQuadri.HitTest(XM, YM)
    
    If Not (itmx Is Nothing) Then
        ColoraLinea itmx, RGB(255, 0, 50), True
        Set selectedItem = itmx
        lsvQuadri.Refresh
    End If
End Sub

Private Sub lsvQuadri_ItemClick(ByVal Item As MSComctlLib.ListItem)
    If Not (selectedItem Is Nothing) Then
        ColoraLinea selectedItem, RGB(0, 0, 0), False
        Set selectedItem = Nothing
        lsvQuadri.Refresh
    End If
End Sub

Private Sub lsvQuadri_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    XM = X
    YM = Y
End Sub
Spero che qualcuno possa aiutarmi a capire cosa devo modificare, per le mie conoscenze sembra tutto corretto.

Ciao e grazie