Réponse acceptée !
Bonjour, il y a un exemple de code fourni avec vb pour faire exactement ça. (complément>gestionnaire de compléments>gestionnaire de modèles vb6, puis Outils>Ajouter un jeu de contrôles). Je recolle le code ici :
Sub lstItems_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbLeftButton Then lstItems.Drag End Sub
Private Sub lstItems_DragDrop(Source As Control, X As Single, Y As Single) Dim i As Integer Dim nID As Integer Dim sTmp As String If Source.Name <> "lstItems" Then Exit Sub If lstItems.ListCount = 0 Then Exit Sub With lstItems i = (Y \ TextHeight("A")) + .TopIndex If i = .ListIndex Then ' Déposée au-dessus Exit Sub End If If i > .ListCount - 1 Then i = .ListCount - 1 nID = .ListIndex sTmp = .Text If (nID > -1) Then sTmp = .Text .RemoveItem nID .AddItem sTmp, i .ListIndex = .NewIndex End If End With End Sub
Il vaut mieux mettre un curseur dans la propriété DragIcon de lstItems, sinon il y a un gros rectangle moche quand on déplace les éléments.
|