io lo faccio per intercettare la riga su cui l'utente ha cliccato col tasto dx del mouse, seleziono la riga, e in base allo stato del check della riga faccio vedere un menù anzichè un'altro.
Private Sub ListArt_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If ListArt.ListItems.Count <> 0 Then
Dim pos As Double
pos = Int((Y - 15) / 255) + ListArt.GetFirstVisible.Index - 1
If pos <= ListArt.ListItems.Count Then
ListArt.ListItems(pos).Selected = True
If Button = 2 Then
If ListArt.ListItems.Item(pos).Checked = True Then
PopupMenu DX1articolo
Else
PopupMenu DX2articolo
End If
End If
End If
End If
End Sub
Potrebbe esserti utile come esempio... se ci lavori un pò su potresti riadattarlo all'esigenza!....